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