史上最简单的 MyBatis 教程(一)

史上最简单的 MyBatis 教程(一)1简介MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架,其几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。MyBatis应用程序大都使用SqlSessionFac

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1 简介

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架,其几乎消除了所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。MyBatis 应用程序大都使用 SqlSessionFactory 实例,SqlSessionFactory 实例可以通过 SqlSessionFactoryBuilder 获得,而 SqlSessionFactoryBuilder 则可以从一个 XML 配置文件或者一个预定义的配置类的实例获得。

2 构建步骤

想要熟练的使用 MyBatis 框架,就必须明确其构建步骤,在此,咱们给出构建 MyBatis 框架的详细步骤,以供大家参考:

  • 创建一个 Java Web 项目;
  • 导入 MyBatis 框架的 jar 包;
  • 创建核心配置文件 sqlMapConfig.xml ;
  • 创建映射文件 UersMapper.xml;
  • 创建测试类。

其中,MyBatis 框架的 jar 包可以通过“MyBatis 之 各种依赖包 ”进行下载,而且里面包含了大多数常用的配置文件,值得大家get。此外,还有一点需要大家注意,那就是 MyBatis 框架用于操作数据,支持 SQL 语句,因此在体验 MyBatis 框架的时候,需要使用数据库配合进行测试。在本篇博文中,咱们在数据库中创建了一个名为“person”的表,并通过 MyBatis 框架对其进行一系列常见的操作(增、删、改、查等)。

3 体验 MyBatis 框架

首先,给出项目结构图:

项目结构图

第一步:创建 Java Web 项目,导入 jar 包

mybatis-3.2.2.jar                       核心jar
mysql-connector-java-5.1.10-bin.jar     数据库访问
asm-3.3.1.jar                           增强类
cglib-2.2.2.jar                         动态代理
commons-logging-1.1.1.jar               通用日志
javassist-3.17.1-GA.jar                 java助手
log4j-1.2.17.jar                        日志
slf4j-api-1.7.5.jar                     日志
slf4j-log4j12-1.7.5.jar                 日志

Jetbrains全家桶1年46,售后保障稳定

第二步:创建核心配置文件 sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <!-- 配置开发环境,可以配置多个,在具体用时再做切换 -->
    <environments default="test">
        <environment id="test">
            <transactionManager type="JDBC"></transactionManager>    <!-- 事务管理类型:JDBC、MANAGED -->
            <dataSource type="POOLED">    <!-- 数据源类型:POOLED、UNPOOLED、JNDI -->
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>

    <!-- 加载映射文件 mapper -->
    <mappers>
        <!-- 路径用 斜线(/) 分割,而不是用 点(.) -->
        <mapper resource="yeepay/payplus/mapper/UserMapper.xml"></mapper>
    </mappers>
</configuration>

第三步:创建映射文件 UersMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="yeepay.payplus/mapper.UserMapper">   <!-- 命名空间,名字可以随意起,只要不冲突即可 -->
    <!-- 对象映射,可以不写 -->
    <!-- 查询功能,resultType 设置返回值类型 -->
    <select id="findAll" resultType="yeepay.payplus.Person">  <!-- 书写 SQL 语句 -->
        SELECT * FROM Person
    </select>
</mapper>

第四步:创建实体类(Person)

package yeepay.payplus;

/** * Created by 维C果糖 on 2017/2/1. */
public class Person { 
   
    private Integer id;
    private String name;
    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

第五步:创建测试类(CeshiMyBatis)

package yeepay.payplus.test;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import yeepay.payplus.Person;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/** * Created by 维C果糖 on 2017/2/1. */
public class CeshiMyBatis { 
   
    @Test
    public void ceshi() throws IOException {
        /** * 1、获得 SqlSessionFactory * 2、获得 SqlSession * 3、调用在 mapper 文件中配置的 SQL 语句 */
        String resource = "sqlMapConfig.xml";           // 定位核心配置文件
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);    // 创建 SqlSessionFactory

        SqlSession sqlSession = sqlSessionFactory.openSession();    // 获取到 SqlSession

        // 调用 mapper 中的方法:命名空间 + id
        List<Person> personList = sqlSession.selectList("yeepay.payplus/mapper.UserMapper.findAll");

        for (Person p : personList){
            System.out.println(p);
        }
    }
}

在完成以上步骤后,咱们可以通过 JUnit 来测试框架是否搭建成功,具体使用 JUnit 进行测试的方法,可以通过阅读“基于 JUnit 单元测试的原理及示例”来了解更为详细的内容。


———— ☆☆☆ —— 返回 -> 史上最简单的 MyBatis 教程 <- 目录 —— ☆☆☆ ————

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213490.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • DELL服务器RAID故障数据恢复

    DELL服务器RAID故障数据恢复当RAID出现故障时,硬件厂商经常会初始化你的系统或重建(REBUILD)你的RAID,那么,会造成数据无法恢复的巨大损失,因此,当RAID出现故障时,一定要正确处理。RAID的目的就是利用磁盘空间的冗余实现数据容错,不过这是在所有的磁盘或卷没有任何问题的前提下实现的。当RAID卷中的单个磁盘出现故障后,尽管数据可能暂时不会受到威胁,但是磁盘冗余已经没…

  • leetcode 792_leetcode5421编码

    leetcode 792_leetcode5421编码给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例 1:输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCCED”输出:true示例 2:输

  • 项目从 tomcat7部署到tomcat8「建议收藏」

    项目从 tomcat7部署到tomcat8「建议收藏」这段时间将一个老项目从tomcat7部署到tomcat8上,期间遇到的典型问题。接下来我会介绍下整个升级过程和在升级中遇到的问题。首先要装个jdk8+,因为开发环境用的是eclipse,还要搞个兼容tomcat8的eclipse.新下的tomcat8里是自带20几个jar的,这是要留着的不能直接拿来tomcat7的lib就用。因为老项目要依赖的jar都放在了tomcat下没有用maven,所以拿来…

  • servu搭建ftp服务器教程_ftp端口映射

    servu搭建ftp服务器教程_ftp端口映射映口映射的功能主要就是实际互联网可以访问当前进行映射的电脑,首先我们要进行路由器的端口映射,常见的开放端口有80,21,3389等,80是网站常用端口,21是FTP服务器常用端口,3389是远程桌面连接端口。下面为大家详细讲解端口映射的具体方法!1,首先我们要了解路由器的配置介面的IP地址,常用的是192.168.0.1或192.168.1.1,假如你不知道自己的路由器的配置页面的IP

  • 开放6379端口

    开放6379端口开放6379端口/sbin/iptables-IINPUT-ptcp–dport6379-jACCEPT保存配置/etc/rc.d/init.d/iptablessave转载于:https://www.cnblogs.com/itniwota/p/9138347.html

  • 微信公众号开发——2、微信网页开发

    微信公众号开发——2、微信网页开发第一部分、为公众号菜单嵌入网页一、关键参考文档 微信JS-SDK说明文档 。二、编辑模式嵌入网页在公众号平台下,自定义菜单,添加菜单,并选择菜单内容跳转到指定页面地址即可(需认证后方可添加页面地址,个人账号暂不支持认证)。三、开发者模式嵌入网页(通过微信公众平台接口调试工具动态生成菜单)1、基础支持中,通过appid和secret获取access_token,该值有效期为7

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号