
其实,无论是Mybatis、Hibernate都是ORM的一种实现框架,都是对JDBC的一种封装。
之前我写过一篇Spring Boot集成MyBatis操作MySQL,不过在这里让我们脱离Spring(不过很多代码是一样的,Dao类,Model类,数据库配置),就单独回顾下MyBatis的使用,来了解下MyBatis的使用流程。
Mybatis工作流程
- 通过Reader对象读取Mybatis配置文件
- 通过SqlSessionFactoryBuilder对象创建SqlSessionFactory对象
- 获取当前线程的SQLSession
- 事务默认开启
- 通过SQLSession读取映射文件中的操作编号,从而读取SQL语句
- 提交事务
- 关闭资源
SqlSessionFactory是一个很重要的类,每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。
pom.xml
1 | <?xml version="1.0" encoding="UTF-8"?> |
数据库配置jdbc.properties
在src/main/resources文件夹下创建jdbc.properties
文件:
1 | jdbc.driverClassName=com.mysql.jdbc.Driver |
mybatis配置文件
在src/main/resources文件夹下创建mybatis-config.xml
文件:
1 | <?xml version="1.0" encoding="UTF-8" ?> |
添加Dao接口
UserDao接口(其实就是Mapper接口)
1 | package com.lucy.test.dao; |
xml映射文件
在src/main/resources/mappers文件夹下创建User.xml
文件:
1 | <?xml version="1.0" encoding="UTF-8" ?> |
测试类
让我们写个测试类看看效果:
1 | package com.lucy.test; |
参考: