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

MyBatis-Plus进阶

难度高级
时长 2小时10分
学习人数
综合评分9.77
28人评价 查看评价
10.0 内容实用
9.4 简洁易懂
9.9 逻辑清晰
对了,最好还是在赋值表名后,清空下ThreadLocal更好!
哈哈,我没看这个视频之前,实现方式同老师是一样的哈,也是利用了ThreadLocal,因为之前PageHelper就是这么干的。
感慨一句:英雄所见略同啊!哈哈!

已采纳回答 / 老猿
你好,我使用mysql5.7做实验,进行级联删除策略设置,例如我删除一个角色表中的数据,持有该角色的用户表的用户也跟着级联删除或者设置为set null,并且持有该角色的用户都是2条,两种不同策略下的执行delete角色操作,影响的row都显示为1,没出现你说的情况,请问你是使用什么数据库的什么版本,怎样设置,怎么操作的出现了上述情况?

讲师回答 / 老猿
插入的时候确实没有,你有两个办法,方法一:insert时自己在实体上把逻辑删除字段set一下,设置为逻辑未删除。方法二:在数据库表中,为逻辑删除标识设置默认值。
我们还真用的就是这个
资料下载 --》 数据库表结构下载

讲师回答 / 老猿
        同学,不要搞混概念啊,我的课程只是一个例子,用manager_id列作为TenantId(区分不同租户的字段)了,TenantId应该是你动态获取设置的。有的TenantId可能是当前登录人的机构id或者其他的字段。一般是没有拿当前登录人的id作为TenantId,建议你看看多租户的信息,据我了解目前MP只支持单字段的TenantId。

已采纳回答 / 老猿
可以实现,给你举个例子:<...code...>

已采纳回答 / 老猿
       设置逻辑删除后,使用BaseMapper中的deleteById只是会将标识字段更新为逻辑已删除,不会更新其他字段。如果想在逻辑删除时更新修改时间,可以参考我的课程的8-3节,选装件LogicDeleteByIdWithFill,如果你配置了update时自动填充修改时间,这个选装件可以解决你的问题。
貌似不能复用wrapper是因为wrapper默认把user实体的版本号和自身的条件组合在一起作为条件进行查询,所以复用会出现前面的name和版本号条件出现混乱

已采纳回答 / 老猿
不太理解你为什么要这么做,你把@TableId设置到UserID上,主键策略设置为
type = IdType.INPUT 该类型主键表示新增时由你自己插入主键

已采纳回答 / 老猿
mp中没有提供一对一,一对多的关联功能,MP主要是简化单表操作。你说的关联功能,原生的Mybatis有支持,你可以查查用法。
讲的很好,希望多出一些教程,辛苦了~~

已采纳回答 / 老猿
非常感谢你的认可与肯定,看到你的赞许我很开心。我现在还达不到大神的层次。不过我会不断努力提升自己的,希望未来有机会讲更多的课程,把好的知识分享给大家。

已采纳回答 / 老猿
我感觉应该是可以实现的,你可以试着使用条件构造器中的apply方法,apply方法的官方教程地址为:https://mybatis.plus/guide/wrapper.html#apply  你参考一下,看看能否实现你的功能。

已采纳回答 / 老猿
你跟官方文档中的配置文件不一样,请参考MP官方文档中的配置文件,它有的类配置的是MP扩展的类。文档地址:https://mybatis.plus/guide/p6spy.html
课程须知
学习本课程前需要具备一定的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
提交
取消