MyBatis
文章平均质量分 58
ouc码农Lee
这个作者很懒,什么都没留下…
展开
-
MyBatis拼接更新sql条件验证Integer应该注意的点
MyBatis采用xml的形式写sql语句时验证Integer类型的数据如果需要用到0值不要加空字符判断今天在调试程序的时候,发现有一个整型字段,是个枚举。仅有0和1两个值,但是在调用sql修改这个字段时,发现该字段从0到1可以修改,但是从1到0就不行。于是进行了一系列的debug并没有发现问题,所有的参数在调用sql之前均传入生效了。sql语句如下于是按照网上的教程,在执行该条修改sql的时候,我去MappedStatement这个类中的getBoundSql方法中打了断点,查看具体执行的sql语原创 2021-09-10 18:52:41 · 257 阅读 · 0 评论 -
关于MyBatis中一级缓存的一些思考(二)
关于MyBatis中一级缓存的一些思考(二)今天在继续学习关于Mybatis缓存知识的时候,了解到一些关于缓存有关的设置对一级缓存和二级缓存作用域的问题。大致上可以包含一些几条:* 1.cacheEnabled=true/false(开启/关闭缓存,在全局配置文件的setting标签中设置):关闭了二级缓存,一级缓存一直可用;* 2.useCache=“true”(默认为true):每个select标签都有这个属性,当值设置为false时表示不使用缓存(一级缓存依然使用,二级缓存被关闭(但原创 2020-08-03 20:41:51 · 224 阅读 · 0 评论 -
关于MyBatis中一级缓存的一些思考(一)
关于MyBatis中一级缓存的一些思考Mybatis的默认设置了两级缓存:一级缓存(本地缓存)和二级缓存(全局缓存)。其中一级缓存是SqlSession级别的缓存,二级缓存是在namespace级别下的缓存(全局配置文件中默认会开启二级缓存,但是仍然需要在相对应的XXXmapper.xml中配置<cache></cache>标签)。众所周知,一级缓存在一次会话中是会一直开启的,其内部实现原理是把查询到的数据存放在一个Map中。设置缓存主要的目的是为了节省系统的开销,待下次需要查询原创 2020-08-01 09:33:31 · 358 阅读 · 1 评论 -
Mybatis中的collection标签中的javaType和ofType属性的区别
Mybatis中的collection标签中的javaType和ofType属性的区别在使用mybatis时,有时候需要在数据库中进行关联查询(left/right join)来根据某个字段获取到另一个表的的一个List集合。在配置resultMap时,需要用到collection标签对这个LIst属性进行映射:比如在部门表中有一个列表List存放这个表中的所有员工,javaBean如下:public class Department { private Integer id; private原创 2020-07-27 21:37:47 · 12303 阅读 · 0 评论