MyBatis知识点
一、基于SqlSession对象的单表增删改查
1.#{}和${}的区别
#{} 支持通过索引获取数据;
${} 如果使用数字,则表示的只是单纯的数字
2.param+索引的使用
索引从1开始,当只有一个参数时不能使用;
3. 多参数基本数据类型参数
只能使用注解或者通过索引来引用参数
二、基于接口绑定(动态代理)的单表增删改查
三、基于业务装配方式的多表联合查询
四、基于ResultMap N+1 方式的多表联合查询
五、MyBatis使用联合查询语句实现多表联合查询
六、其他
1.注解的使用
2.动态Sql
3.别名的使用
3.1 Auto-Mapping自动注入
3.2 ResultMap
3.3 给单个类起别名
<typeAliases>标签下的typeAlias标签
3.4 给
4.基于ThreadLocal实现OpenSessionInView,实现对MyBatis的封装
5.MyBatis的缓存
一级缓存:SqlSession
二级缓存:SqlSessionFactory
开启二级缓存:mapper标签中使用子标签cache
6.数据库中表之间的关系
6.1 一对一:在子表中设置一个和主表数据相同的字段
6.2 一对多:在子表中设置一个和主表数据相同的字段。
6.3 多对多:设置中间表
7. MyBatis运行原理
8. 对log4j的支持