IDEA+Maven搭建纯Mybatis环境并测试

前面的话:本实例意在搭建纯Mybatis环境,供学习理解mybatis的开发过程使用,在实际生产环境中会结合Spring、SpringMVC、SpringBoot等框架使用。

数据准备

创建一个数据库,并新增一张名为userinfo的表:
IDEA+Maven搭建纯Mybatis环境并测试_第1张图片
建表语句为:

CREATE TABLE `userinfo` (
  `id` int(5) NOT NULL,
  `username` varchar(20) DEFAULT NULL,
  `password` varchar(32) DEFAULT NULL,
  `age` int(3) DEFAULT NULL,
  `sex` tinyint(1) DEFAULT NULL COMMENT '1:男  0:女',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

创建工程

1、创建一个web工程,创建方式请看:https://www.cnblogs.com/1314wamm/p/7475771.html
2、导入mybatis相关依赖包

		<!-- mybatis核心包 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.3.0</version>
        </dependency>
        <!-- mysql驱动包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.29</version>
        </dependency>
        <!-- junit测试包 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>  

3、新建一个pojo类UserInfo.java与MySQL中的userinfo表一一对应。

package com.qunar.pojo;

/**
 * @Description:
 * @Author: renxin.tang
 * @Date: 2019-08-09 15:58
 */
public class UserInfo {
    private int id ;
    private String username ;
    private String password ;
    private int age ;
    private int sex ;//   1:男  0:女
	/*
    
    getter  and  setter
    
    */
    
}

4、在resources文件夹中创建 mybatis-config.xml 核心配置文件
IDEA+Maven搭建纯Mybatis环境并测试_第2张图片


<?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="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--  配置连接数据库的四个参数 注意数据库版本  -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/qfcdb" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>
    <!-- 设置mapping文件路径配置 -->
    <mappers>
        <mapper resource="mapper/UserInfoMapper.xml"/>
    </mappers>
</configuration>

5、在resources创建一个mapper文件夹,存放映射xml文件,并创建一个UserInfoMapper.xml 文件
IDEA+Maven搭建纯Mybatis环境并测试_第3张图片

<?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="com.qunar.pojo.UserInfo">
    <select id="findByid" parameterType="int" resultType="com.qunar.pojo.UserInfo">
    select * from userinfo where id = #{id}
    </select>
</mapper>

6、一个非常简单的测试demo

mybatis开发步骤:
1)读取配置文件
2)创建session工厂SqlSessionFactory
3)获取SqlSession
4)执行sql
5)返回结果并处理
6)关闭session

package com.qunar.test;


import com.qunar.pojo.UserInfo;
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 java.io.IOException;
import java.io.Reader;
/**
 * @Description:
 * @Author: renxin.tang
 * @Date: 2019-08-09 16:41
 */
public class TestDemo {
    @Test
    public void userFindById(){
        //设置配置文件名
        String resources = "mybatis-config.xml";
        Reader reader=null;
        try {
            // 读取配合文件到reader对象中
            reader= Resources.getResourceAsReader(resources);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //创建SqlSessionFactory类的实例
        SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
        //创建session实例
        SqlSession session=sqlMapper.openSession();
        //传入参数查询,返回结果
        // findById  与 UserInfoMapper 中select标签设置的ID一致,表示执行哪个sql语句
        UserInfo user=session.selectOne("findByid",1);
        //输出结果
        System.out.println(user.getUsername()+"\t" + user.getAge());
        //关闭session
        session.close();
    }
}

测试结果:
IDEA+Maven搭建纯Mybatis环境并测试_第4张图片

你可能感兴趣的:(Mybatis)