mybatis总结
什么是mybatis
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
为什么要使用mybatis
无论是Mybatis、Hibernate都是ORM的一种实现框架,都是对JDBC的一种封装!
持久层中的几种技术:
Hibernate(一个比较老旧的框架):
1、优点:用起来十分舒服,sql代码都不用写
2、缺点:处理复杂业务时,灵活度差, 复杂的HQL难写难理解,例如多表查询的HQL语句
JDBC:
1、优点:易理解,几个固定的步骤
2、缺点:开发起来太麻烦,什么都需要自己写
SpringDAO:
1、其实是JDBC的一层封装就类似于dbutils一样
2、可以认为,MyBatis就是jdbc和Hibernate之间的一个平衡点
mybatis的工作流程
1、通过Reader对象读取MyBatis映射文件
2、通过SqlSessionFactoryBuilder对象创建SqlSessionFactory对象
3、获取当前线程的SQLSession
4、事务默认开启
5、通过SQLSession读取映射文件中的操作编号,从而读取SQL语句
6、提交事务
7、关闭资源
在MyBatis里面配置外部资源文件
在全局配置文件里面利用properties标签
<properties resource="类路径"></properties>
在src类路径下放入资源文件
<properties url="网络路径或者本地磁盘路径"></properties>
配置数据源
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>