1.MyBatis框架简介
MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub。
是一个基于DAO层ORM框架ORM:Object Relational Mapping 对象关系映射 在mybatis中指的是sql语句与实体类之间的映射。
2.MyBatis的优缺点
优点:减少代码量,小巧并且简单易学,SQL语句从程序代码中彻底分离,降低耦合度,便于管理和优化,并可重用,支持编写动态SQL语句。
缺点:SQL语句编写工作量大,对开发人员有一定的要求,数据库移植性差
适用场合:MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。对性能要求很高,或者需求变化多的项目,如互联网项目,适合适用MyBatis框架。
缺点:SQL语句编写工作量大,对开发人员有一定的要求,数据库移植性差
适用场合:MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。对性能要求很高,或者需求变化多的项目,如互联网项目,适合适用MyBatis框架。
3.MyBatis开发环境的搭建
- 导入MyBatis jar包
- 编写实体类
- 编写MyBatis的核心配置文件 mybatis-config.xml
- 编写MyBatis 实体类的映射文件xxxMapper.xml
- 编写测试类测试
4.MyBatis的核心配置文件(mybatis-config.xml)
configuration 配置
properties 可配置在Java属性配置文件中
settings 修改MyBatis在运行时的行为方式
typeAliases 为Java类型命名一个别名
typeHAndlers 类型处理器
objectFactory 对象工厂
piugins 插件
environments 环境
environment 环境变量
transactionManage 事务管理器
dataSource 数据源
mappers 映射器
5.mybatis的核心接口和类:
SqlSessionFactoryBuilder------->build() SqlSessionFactory---------->openSession() SqlSession
SqlSessionFactoryBuilder:用过即丢,推荐作用范围:方法体内
SqlSessionFactory:最佳作用域范围:应用的全局作用域 生命周期与应用的生命周期相同
SqlSession:线程级 一个request请求期间