为了账号安全,请及时绑定邮箱和手机立即绑定

MyBatis-Plus进阶

难度高级
时长 2小时10分
学习人数
综合评分9.77
28人评价 查看评价
10.0 内容实用
9.4 简洁易懂
9.9 逻辑清晰

讲师回答 / 老猿
同学,你好,我怎么感觉这个事让你整复杂了呢,你上面这个需求order和order_today,我感觉写一个实体就可以了,到底在什么时候什么情况下查哪个表,在ITableNameHandler的实现类中编写逻辑,然后配置好就可以了。

讲师回答 / 老猿
同学,这个你就要看一看介绍雪花算法的原理的文章了,有很多,里面会告诉你它是如果保证不重复的,保证不重复是有一些限制条件的,满足限制条件,就可保证不重复。

讲师回答 / 老猿
抱歉,网站规定,免费课程不提供源码。我看有的同学,把参考我的课程编写的代码分享出来了,你可以在留言区或者评论区找一下。

讲师回答 / 老猿
请问,你使用的是mp的什么版本,如果存在这样的问题,那么应该是mp的bug,你可以在码云或github上反馈给官方。

讲师回答 / 老猿
请问,在实体中标识是否逻辑删除的属性,加@TableLogic注解了吗?如果没加需要加上。

讲师回答 / 老猿
你在desc属性中增加@JsonValue注解,看看会不会达到你预期的效果。

讲师回答 / 老猿
       这个就得你手动抛出异常了,主要是看你想不想这么实现,就是调用update后,如果你用通用service中的update,返回false你就手动抛异常;如果用的是BaseMapper中的方法,返回的影响行数是0的话,手动抛出异常。

讲师回答 / 老猿
你这个问题,看着提示信息,应该不是程序的问题,而是因为数据库外键的问题,你删除所有数据,由于有的数据行有外键的约束,不允许你进行物理删除。

讲师回答 / 老猿
如果还是不行,你把spy配置文件,和spring配置文件粘出来,我看看。

讲师回答 / 老猿
      你是要多次复用QueryWrapper吗?使用乐观锁插件了吗?如果使用乐观锁插件,是不能多次复用QueryWrapper的。我一般是不会复用条件构造器的。

讲师回答 / 老猿
同学,你好,你配置动态表名解析器了吗?如果配置了,你ITableNameHandler实现类中的dynamicTableName抽象方法的返回值,是你要替换的的表名吗?如果返回值为null不替换。

讲师回答 / 老猿
       同学,可以实现批量逻辑删除啊,首先你的实体中要有使用注解@TableLogic标识的字段,然后你调用BaseMapper中的如下方法,如果符合条件的行数大于一个,就是批量逻辑删除。<...code...>

讲师回答 / 老猿
       多表联查可以既使用xml或@select注解的方式写sql,然后还能使用MP的条件构造器,实现方式如下:       MP自带的CRUD操作是针对单表操作的,如果要操作多表,可以写自定义sql。给你举个...

讲师回答 / 老猿
setInsertFieldValByName有替代的方法,替代的方法为strictInsertFill
课程须知
学习本课程前需要具备一定的MyBatis-Plus基础,并熟悉Lambda表达式和SpringBoot。建议先学习《MyBatis-Plus入门》课程,链接在此:https://www.imooc.com/learn/1130。
老师告诉你能学到什么?
1、掌握MP逻辑删除实现 2、掌握MP自动填充实现 3、掌握MP乐观锁实现 4、掌握MP性能分析 5、掌握MP多租户实现 6、掌握MP动态表 7、掌握MP的SQL注入器

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消