一、MyBatis框架基本介绍:
1、认识 MyBatis:
- MyBatis 是支持普通 SQL 查询,存储过程和高级映射的持久层框架,严格上说应该是一个
SQL 映射框架
。 - 其前身是 iBatis,也就是淘宝使用的持久层框架。
- 几乎所有的 JDBC 代码和参数的手工设置以及结果集的处理都可以交给 MyBatis 完成, 而这只需要简单的使用XML或注解配置 就可以完成。
- 和 Hibernate 相比更简单、更底层、性能更优异,因此更深入人心,更受企业的青睐。
2、下载地址和文档:
- GitHub 地址为https://github.com/mybatis
- 中文文档:http://www.mybatis.org/mybatis-3/zh/index.html
http://mybatis.org/spring/zh/index.html
二、MyBatis 基本使用
1、开发步骤一:拷贝jar包
■ 项目拷贝jar记得先建立一个lib目录
- mysql连接驱动jar包【MyBatis底层是jdbc】
- myBatis.jar
2、开发步骤二:编写配置文件【主配置文件和映射文件】
2-1、了解一下MyBatis的配置文件(两种---主配置文件和映射文件):
(1)MyBatis全局配置文件/主配置文件:
- 起名:不固定,但是需要见名知意,例如:mybatis-config.xml
- 路径:classpath 的根路径
- 参考文档:mybatis中文官网的xml配置章节
✿ MyBatis全局配置文件内容:
① 全局配置信息
② 属性配置信息
③ 插件配置信息
④ 配置环境信息
【事务+连接池】
⑤ 关联映射文件
(2) MyBatis 映射文件/Mapper文件:
- 起名:不固定,但是需要见名知意,例如:XXXMapper.xml,是哪一个对象的映射文件,例如UserMapper.xml
- 路径:Mapper 文件应该放到 Mapper接口的路径,咱暂时放到domain位置
- 参考文档:mybatis中文官网的xml映射文件章节
✿ MyBatis 映射文件内容:
① 编写增删改查sql,把sql存放到insert| update| delete| select 元素中去
② 结果集映射:解决表中的列和对象属性不匹配问题
③ 缓存配置
2-2、配置文件的约束文件【约束文件在入门章节】:
//mybatis主配置文件 [例如mybatis-config.xml] 的约束文件---mybatis-3-config.dtd 【连网状态它会自动下载】
DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
//mybatis映射文件 [例如UserMapper.xml] 的约束文件---mybatis-mapper.dtd 【连网状态它会自动下载】
DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
■ 关联本地文件,以防止网络不好下载失败
2-3、编写主配置文件和映射文件内容
✿ 全局/主配置文件[mybatis-config.xml文件]:
-
配置环境信息
【事务+连接池】 -
关联映射文件
<configuration>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatisdemo"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
dataSource>
environment>
environments>
<mappers>
<mapper resource="com/shan/hello/UserMapper.xml"/>
mappers>
configuration>
✿ 映射文件[UserMapper.xml文件]:
-
编写增删改查的sql
<mapper namespace="com.shan.hello.UserMapper">
<select id="get" parameterType="java.lang.Long" resultType="com.shan.hello.User">
select * from t_user where id = #{id}
select>
mapper>
3、开发步骤三:编写测试代码,测试myBatis执行增删改查操作:
- 以查询为例:
①加载配置文件
②创建会话工厂对象SqlSessionFactory【好比连接池DataSource】
③通过会话工厂创建会话对象SqlSession【好比连接对象Connection】
④执行crud操作
⑤关闭资源
public void testGet() throws IOException {
//1、从classpath路径加载mybatis全局配置文件mybatis-config.xml
InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
//2、创建SqlSessoinFactory会话工厂对象,好比连接池DataSource
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3、创建SqlSession会话对象,好比连接对象Connection
SqlSession session = factory.openSession();
//4、进行数据库操作(CRUD)
User user = session.selectOne("com.shan.hello.UserMapper.get", 300L);
System.out.println(user);
//5、关闭资源
session.close();
}
❀ 总结:开发流程-拷贝jar包,编写配置文件,然后进行测试
作者:一乐乐