Mybatis
虎哥和你一起学编程
路漫漫其修远兮吾将上下而求索
展开
-
mybatisPlus不指定@TableId(type=IdType.AUTO)时的行为
近期遇到了一个坑,就是在定义实体类时没有指定@TableId(type=IdType.AUTO),结果mybatisPlus会将id的类型设为IdType.NONE @Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})public @interface TableId { /** * 字...原创 2021-07-06 18:10:37 · 5253 阅读 · 0 评论 -
mybatisPlus使用LambdaQueryWrapper
平常我们在使用mybatisPlus经常会使用这种语句。 QueryWrapper<MessageAuxEntity> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("to_id", messageCreateReqDTO.getTo_id()); queryWrapper.eq("to_type_id", messageCreateReqDTO.ge...原创 2021-04-07 16:34:15 · 5680 阅读 · 0 评论 -
MybatisPlus乐观锁
先讲一个故事。一件商品成本80元,售价100元。某天老板觉得100元太便宜了,就通知小李去涨价50元,但是小李玩游戏去了。然后老板觉的150元太贵了,又通知小王去降价30元。这个时候小李也想起了老板的吩咐,两个人同时去改变商品的价格。小李先取出商品的价格100元,然后加50,再将150元存入数据库。这个时候小王取出商品的价格100元,降价30元,变成70元也存入数据库,这样小王的操作就完全覆盖了小李的操作,商品现在只卖70元。一分钟过后,卖了1000多件商品,老板亏本了一万多元。 ...原创 2021-03-29 14:49:34 · 146 阅读 · 0 评论 -
mybatis报Query was Empty异常
mybatis中的<foreach>标签在批处理的时候经常要使用到,而使用<foreach>避免不了的就是要对list进行非空判断,否则很容易出错。 今天我在批量插入时,我的代码是这样的<if test="list!=null and list.size>0> insert into tables values <for...原创 2018-03-06 23:06:55 · 20519 阅读 · 0 评论 -
手写Mybatis分页插件
之前涉及到mybatis分页时,都是先查询一遍总和,再用Limit,导致了项目中有大量的冗余代码,非常的难看,网上不管是框架,还是人家提到的各种自以为是的解决办法,基本上都是下面两种: 1.先查一下总条数,再用Limt 2.直接查出所有,再用subList截取 就我个人而言,我觉的两种做法都很愚蠢,但是呢我还是没找到一种很好的解决方案,也就只能用框架来解决这种事情,使代码...原创 2018-03-08 23:13:25 · 2285 阅读 · 0 评论