MyBatis是轻量级半自动持久层框架,相比于Hibernate全自动框架,MyBatis在sql与java分离的基础上,可由开发人员定制化sql,易于优化。
一、入门MyBatis
使用总结:
- 了解两个重要的配置文件:
mybatis的全局配置文件:包括连接池信息,事务管理器等......系统运行环境信息
sql映射文件:保存了每一个sql语句的映射信息:将sql抽取出来(半自动,不同于hibernate) - mybatis的全局配置文件:创建一个SqlSessionFactory对象(有数据源等运行环境信息)
- sql映射文件:配置每一项sql
- 将sql映射文件注册在全局配置文件中
- 测试
- 根据全局配置文件得到SqlSessionFactory
- 使用SqlSessionFactory,获得SqlSession对象使用它来执行增删改查(一个SqlSession代表和数据库的一次会话,用完必须关闭)
- 使用sql的唯一标识来告诉mybatis执行哪个sql
二、使用接口式编程(推荐)
- 原生编程与接口式编程对比
原生方式:Dao ====> DaoImpl
Mybatis方式: Mapper ====> xxMapper.xml(接口和xml进行绑定) - SqlSession和connection一样都是非线程安全(不可以作为成员变量,每次使用都应去获取新的对象)。
- mapper接口没有实现类,但mybatis会为这个接口生成一个代理对象。