Mybatis
- 数据持久化概念和ORM原理
- 数据持久化:持久化是程序数据在瞬时状态和持久状态间的转换过程
- ORM:编写程序的时候,以面向对象的方式处理数据。保存数据的时候却以关系型数据库的方式存储数据
- ORM提供:
- 在持久化对象上执行基本的增、删、改、查操作
- 对持久化对象提供一种查询语言或者API
- 对象关系映射工具
- 提供与事务对象交互、执行检查、延迟加载以及其他优化功能
- MyBatis的概念以及优点特性
- 简单易学:没有任何第三方依赖,本身很简单
- 灵活:不会影响编程或数据库的设计,sql写在xml中,便于统一管理优化
- 解耦:将业务逻辑和数据访问逻辑分离,设计清晰,便于维护。Sql与代码分离,方便维护
- 理解核心类的作用域和生命周期,核心配置
- SqlSessionFactoryBuilder
- 生命周期及作用域:用过即丢,生命周期只存在方法体内
- 作用:可重用其来创建多个 SqlSessionFactory 实例,负责构建SqlSessionFactory,并提供多个build方法的重载
- SqlSessionFactory
- 生命周期及作用域:生命周期与应用的生命周期相同,存在于整个应用运行时,并且同时只能存在一个对象实例(单例)。作用域为Application
- 作用:创建SqlSession实例
参数:true:关闭事务、false开启事务(默认)
注:当开始事务的时候,对表做增删改操作时,需要提交事务:commit
- SqlSession
- 生命周期及作用域:一个request请求期间,线程级别
- 作用(两种):
- 通过SqlSession实例直接运行映射的sql语句
- 基于Mapper接口方式操作数据
- mybatis-config.xml系统核心配置文件
- Mapper.xml:SQL映射文件
- 搭建MyBatis环境
- mybatis-config.xml系统核心配置文件:
- 头文件
- 根元素:<configuration></configuration>
- 配置元素(要放在根元素内):
- properties 可以配置在Java 属性配置文件中
- settings 修改 MyBatis 在运行时的行为方式:9
- typeAliases 为 Java 类型命名一个别名(简称)
- typeHandlers 类型处理器
- objectFactory 对象工厂
- plugins 插件
- environments 环境
- environment 环境变量
- transactionManager 事务管理器
- dataSource 数据源
- mappers 映射器
- 掌握全局配置文件结构内容
- properties配置两种方式:
- 利用外部文件:database.properties
- 直接在xml文件中配置数据库信息
- settings元素:(共有9个,自行百度浏览下其他得属性)
- cacheEnabled:对在此配置文件下得所有cache(缓存)进行全局性开/关设置(true/false),默认为true
- LazyLoadingEnabled:全局性设置懒加载。如果设为”false”,则所有相关联得都会被初始化加载:(true/false),默认为true
- typeAliases元素:设置映射文件返回结果别名
- environments环境:development开发环境 test测试环境
- environment环境变量,id指向环境
- transactionManager
<transactionManager type=”JDBC”/>
- dataSource
type:
(1)UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭链接
(2)POOLED:这种数据源的实现利用”池”的概念将JDBC连接对象组织起来
(3)JNDI:自行百度
- mappers:映射器,配置加载映射文件
- Mapper映射器:
- 头文件
- 根元素:
- 子元素:select、insert、delete、update、resultMap