MyBatis知识盘点【肆】_映射器
来源:互联网 发布:mysql with as 实现 编辑:程序博客网 时间:2024/05/31 18:30
上篇文章:MyBatis知识盘点【叁】_mybatis-config.xml配置说明
select元素
id:唯一主键
parameterType:参数类型,可指定bean
resultType:返回结果集类型
resultMap:自定义映射规则和resultType 2选1
flushCache:调用sql后,让mybatis清空之前的一级和二级缓存,默认false
useCahe:使用二级缓存保存结果,默认true
timeout:超时时间,默认是驱动jar包里的时间
fetchSize:获取记录总条数管理,默认是驱动jar包里的
statementType:使用哪个statement,枚举STATEMENT、PREPARED、CallableStatement。默认PREPARED
resultOrdered:仅适用于嵌套结果集select语句。如果是true,就认为是包含了嵌套结果集或分组。默认false
insert元素
id:唯一主键
parameterType:参数类型,可指定bean
flushCache:调用sql后,让mybatis清空之前的一级和二级缓存,默认false
useCahe:使用二级缓存保存结果,默认true
timeout:超时时间,默认是驱动jar包里的时间
keyProperty:设置哪个列为主键,联合主键都好分隔。不能和keyColumn连用
keyColumn:知名第几列为主键,参数只接受int,不能和keyProperty连用。
useGeneratedKeys:让MyBatis使用JDBC的getGeneratedKeys方法去除由数据库内部生成的主键。默认false。
在Order里设置id的成员变量
update、delete元素
返回影响行数
#和$的区别
#{}:会按类型进行转换
${}:不做任何处理
sql元素
sql模糊查询时,可用concat('%',#{参数},'%')拼装条件。
当是同一个sqlSession执行同一个sql的时候,如果缓存开启,第二次查询的时候则会返回缓存中的记录,而不会发送sql到数据库。但是不同sqlSession则不会,因为它们之间是相互隔离的。
一级缓存:缓存在sqlSession层面,不共享;
二级缓存:缓存在SQLSessionFactory层面,可共享,要求返回的pojo必须是可序列化的。默认不开启。想开启,在映射xml中配置<cache/>即可。如此配置,意味着:
select会缓存
insert、update和delete会刷新缓存
缓存通过LRU最近最少使用原则回收
回收策略:
LRU,最近最少使用
FIFO,先进先出
SOFT,软引用
WEAK,弱引用
- MyBatis知识盘点【肆】_映射器
- MyBatis知识盘点【伍】_动态sql
- redis知识盘点【肆】_主从复制和sentinel哨兵
- MyBatis知识盘点【壹】_MyBatis和Hibernate
- MyBatis知识盘点【贰】_MyBatis组件概览
- redis知识盘点【壹】_基础知识
- redis知识盘点【叁】_持久化
- MyBatis知识盘点【叁】_mybatis-config.xml配置说明
- redis知识盘点【贰】_五种类型
- Mybatis Mapper xml映射配置知识总结
- MyBatis学习_2_关联映射_一对一
- MyBatis知识五 输入映射和输出映射
- 【Mybatis学习】Mybatis映射器
- Mybatis--映射器注解
- MyBatis-映射器
- Mybatis映射器
- MyBatis四映射器
- mybatis--映射器
- SQL优化
- vue 单页面组件的2种传值方式
- Qt开源软件集锦(部分有编译指导)
- 时间格式转换LongToString
- eclipse如何设置自动去除多余引入的类
- MyBatis知识盘点【肆】_映射器
- 大数据:OLTP和OLAP
- Redis集群的方案总结:客户端Sharding/Redis Cluster/Proxy
- Linux-----curl命令
- hbase复制表(本地或者跨集群)
- JAVA回调机制(CallBack)详解
- Angular 4 文本框自动获取焦点
- 多核心利用
- 测试关键词来源