mybatis
岛田悠米
博客用于记录那些技术上的点滴,以及平时生活的总结和个人感慨,欢迎阅读哦~
展开
-
mybatis plus 事务回滚总结
事务回滚总结原创 2022-09-26 14:48:59 · 3208 阅读 · 0 评论 -
wrapper.and的用法
使用Mybatis Plus的QueryWrapper实现如下的sql语句效果:select * from xxx where field1= ? and (field2= ? or field3= ?)Mybatis Plus代码:QueryWrapper<xxx> queryWrapper = new QueryWrapper<xxx>();queryWrapper.eq(field1, field1Value);queryWrapper.and(wrapper -&原创 2022-05-06 20:55:55 · 5331 阅读 · 0 评论 -
@TableId默认是自增的吗
在MyBatisPlus向数据库表中插⼊数据的时候,如果主键为id,并且在数据库的表中已经设置了id为⾃增列,如果在java实体的对应属性上⾯已经写了@Tableld(value=“id”,type=IdType.Auto)注解,那么插⼊数据的时候可以不写id的值,程序会按照⾃增规则给id补⼀个值插⼊。...原创 2022-05-06 08:10:26 · 1560 阅读 · 0 评论 -
mybatis plus的saveOrUpdate方法重复插入数据
注意:当你是主键自动生成的数据,一定要写UpdateWrapper,不然你必然是一直插入!完全不会更新,因为默认是用id查询的。而主键生成的数据,一般都不会去写一个id,所以就会产生数据重复插入的现象...原创 2022-03-02 15:42:53 · 5954 阅读 · 0 评论 -
Mybatis一级缓存和二级缓存怎么理解?
一级缓存基于sqlSession默认开启,在操作数据库时需要构造SqlSession对象,在对象中有一个HashMap用于存储缓存数据。不同的SqlSession之间的缓存数据区域是互相不影响的。一级缓存的作用域是SqlSession范围的,当在同一个sqlSession中执行两次相同的sql语句时,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次查询时会从缓存中获取数据,不再去底层数据库查询,从而提高查询效率。需要注意的是,如果SqlSession执行了DML操作(增删改),并且提交到数原创 2021-04-10 18:03:38 · 126 阅读 · 0 评论 -
数据库字段命名方式和java变量命名方式
数据库字段命名一般不采用驼峰式命名,可以采用下划线的形式。java变量命名一般采用驼峰式命名。Mybatis支持数据库下划线的命名方式,它会将数据库字段和java实体类对象联系起来。原创 2021-04-10 17:07:36 · 933 阅读 · 0 评论 -
mybatis的一级缓存、二级缓存、sqlsession、sqlsessionfactory什么意思?
mybatis的的一级缓存是SqlSession级别的缓存,一级缓存缓存的是对象,当SqlSession提交、关闭以及其他的更新数据库的操作发生后,一级缓存就会清空。二级缓存是SqlSessionFactory级别的缓存,同一个SqlSessionFactory产生的SqlSession都共享一个二级缓存,二级缓存中存储的是数据,当命中二级缓存时,通过存储的数据构造对象返回。查询数据的时候,查询的流程是二级缓存>一级缓存>数据库。sqlSession用来操作数据库的。sqlSessi原创 2021-03-06 11:56:17 · 1111 阅读 · 0 评论