MyBatis笔记
- XML 配置
- configuration 配置
- properties 属性
- 添加属性
- 直接写键值对:属性 name & value
- 引入外部properties文件:属性 resource
- 优先级:作为方法参数的属性(SqlSessionFactoryBuilder().build() 中) > 读取的外部文件中属性 > 直接写的属性
- 添加属性
- settings 设置
- typeAliases 类型命名
- 添加别名
- 属性 alias & type
- 标签package 属性name 配合@Alias("XXX")
- 添加别名
- typeHandlers 类型处理器
- objectFactory 对象工厂
- plugins 插件
- environments 环境
- environment 环境变量
- transactionManager 事务管理器
- dataSource 数据源
- environment 环境变量
- databaseIdProvider 数据库厂商标识
- mapper 映射器
- 引入方式
- 文件路径
- 包名
- 类名
- 引入方式
- properties 属性
- configuration 配置
- XML 映射文件
- cache(给定命名空间的缓存配置)
- cache-ref(其他命名空间缓存配置的引用)
- resultMap(用来描述如何从数据库结果集来加载对象)
- constructor(对应 POJO 构造器)
- idArg
- arg
- id
- result
- association(一对一级联关系)
- collection(一对多级联关系)
- discriminator(鉴别器,相当于 switch)
- case
- constructor(对应 POJO 构造器)
- sql(可被其他语句引用的可重用语句块)
- insert(映射插入语句)
- update(映射更新语句)
- delete(映射删除语句)
- select(映射查询语句)
- 传参
- @Param 方式(参数小于等于 5 个)
- JavaBean 方式(参数大于 5 个)
- 传参
- 动态 SQL
- if(单条目分支判断)
- <if test="roleName != null"></if>
- choose [ when、otherwise ](多条件分支判断)
- <choose><when test="XX"></when><otherwise></otherwise></choose>
- trim [ where、set ](用于处理一些 SQL 拼装问题)
- <trim prefix="where" prefixOverrides="and">(替换 and 为 where)
- where、set 相当于 SQL 中的 where、set 条件
- foreach(在 SQL in 语句等列举条件常用)
- <foreach item="" index="" collection="" open="" separator="" close="">XX</foreach>
- collection(传递过来的参数,可以是数组、List、或者 Set)
- item(循环中的当前元素)
- index(当前元素在集合中的位置下标)
- open、close(以什么符号将这些集合元素包装起来)
- separator(各个元素的间隔符)
- <foreach item="" index="" collection="" open="" separator="" close="">XX</foreach>
- bind
- 模糊查询时,<bind name="pattern" value="'%' + _parameter + '%'" />
- if(单条目分支判断)
——来自《深入浅出MyBatis技术原理与实战》