一、Mybatis应用示例
咱们先先一个简略的例子,对Mybatis应用有一个直观的意识。
1.新建mybatis配置文件mybatis-config.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>    <!-- 环境,能够配置多个,default:指定采纳哪个环境 -->    <environments default="test">        <!-- id:惟一标识 -->        <environment id="test">            <!-- 事务管理器,JDBC类型的事务管理器 -->            <transactionManager type="JDBC" />            <!-- 数据源,池类型的数据源 -->            <dataSource type="POOLED">                <property name="driver" value="com.mysql.jdbc.Driver" />                <property name="url" value="jdbc:mysql://xxx/testdb" />                <property name="username" value="xxx" />                <property name="password" value="xxx" />            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="UserMapper.xml" />    </mappers></configuration>

2.生成model文件User.java和配置文件UserMapper.xml

package last.soul.model;import lombok.Data;@Datapublic class User {    private Long id;    private String name;    private String nickName;    private Integer age;    private Byte sex;}
<?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="last.soul.mapper.UserMapper">  <resultMap id="BaseResultMap" type="last.soul.model.User">    <id column="id" jdbcType="BIGINT" property="id" />    <result column="name" jdbcType="VARCHAR" property="name" />    <result column="nick_name" jdbcType="VARCHAR" property="nickName" />    <result column="age" jdbcType="INTEGER" property="age" />    <result column="sex" jdbcType="TINYINT" property="sex" />  </resultMap>  <select id="selectById" parameterType="java.util.Map" resultType="last.soul.model.User">      select * from user where id = #{id}   </select></mapper>

3.编写测试代码UserTest.java

public class UserTest {    @Test    public void test() throws IOException {        String resource = "file/mybatis-config.xml";        // 读取配置文件        InputStream inputStream = Resources.getResourceAsStream(resource);        // 构建sqlSessionFactory        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        //获取sqlSession        SqlSession sqlSession = sqlSessionFactory.openSession();        //构建参数        Map map=new HashMap<>();        map.put("id",1);        //执行sql,并返回后果        User user=sqlSession.selectOne("last.soul.mapper.UserMapper.selectById",map);        Assert.assertTrue(user.getId()==1);    }}

运行胜利,由下面代码看出,Mybatis执行流程次要有以下几步:
1.读取配置文件。
2.构建sqlSessionFactory。
3.获取sqlSession。
4.执行sql,并返回后果。

二、Mybatis整体架构

Mybatis整体架构分三层,别离是根底反对层、外围解决层和接口层。下面的第1步属于根底反对层的资源加载模块,第2,3步属于接口层,第4步属于外围解决层。

后续的文章会详解每个模块。