讲师回答 / 老猿
你好,对于你的提问,我之前的回答,所问非所答了,关于流式查询,mp应该是没有特殊的支持。但是mybatis是支持的,mybatis中可以使用Cursor,进行流式查询,具体方法你可以查阅网上相关文章。
2019-11-07
已采纳回答 / 老猿
同学,经过我验证,开启二级缓存后,MP的baseMapper中提供的一系列Select方法不能命中二级缓存,只有自定义的方法才能命中二级缓存。 MP官方的建议是:“我们建议缓存放到 service 层,你可以自定义自己的 BaseServiceImpl 重写注解父类方法,继承自己的实现。”
2019-11-07
讲师回答 / 老猿
我明白是怎么回事了,官方就是这么设计的。insertBatchSome这个功能,如果你不排除某个字段的话,所有字段都会在Insert中。如果该字段为null也会给你添加到insert语句中。你的操作中,配置...
2019-11-01
讲师回答 / 老猿
PerformanceInterceptor在3.2.0被移除了,如果想进行性能分析,用第三方的,官方这样写的“该插件 3.2.0 以上版本移除推荐使用第三方扩展 执行 SQL 分析打印 功能”,我课程中也讲第三方扩展执行SQL分析打印功能了。
2019-10-31
讲师回答 / 老猿
可以用实体接多表字段,用自定义sql(如果自定义sql还想使用条件构造器的话,可以参考我入门篇的第四章第一节)。但是实体中的其他表的字段对应的属性,要加上@TableField(exist = false)。
2019-10-29
讲师回答 / 老猿
这个是idea的验证,他认为你只在Mapper接口中有方法,没有在xml中写对应的sql语句,你可以在file->setting->Editor->Inspections->然后在搜索框中搜索Mybatis,在搜索的结果中,修改相应项的级别就可以了。
2019-10-20
已采纳回答 / 老猿
你好,我使用mysql5.7做实验,进行级联删除策略设置,例如我删除一个角色表中的数据,持有该角色的用户表的用户也跟着级联删除或者设置为set null,并且持有该角色的用户都是2条,两种不同策略下的执行delete角色操作,影响的row都显示为1,没出现你说的情况,请问你是使用什么数据库的什么版本,怎样设置,怎么操作的出现了上述情况?
2019-10-09
讲师回答 / 老猿
插入的时候确实没有,你有两个办法,方法一:insert时自己在实体上把逻辑删除字段set一下,设置为逻辑未删除。方法二:在数据库表中,为逻辑删除标识设置默认值。
2019-10-09
讲师回答 / 老猿
同学,不要搞混概念啊,我的课程只是一个例子,用manager_id列作为TenantId(区分不同租户的字段)了,TenantId应该是你动态获取设置的。有的TenantId可能是当前登录人的机构id或者其他的字段。一般是没有拿当前登录人的id作为TenantId,建议你看看多租户的信息,据我了解目前MP只支持单字段的TenantId。
2019-09-30
已采纳回答 / 老猿
设置逻辑删除后,使用BaseMapper中的deleteById只是会将标识字段更新为逻辑已删除,不会更新其他字段。如果想在逻辑删除时更新修改时间,可以参考我的课程的8-3节,选装件LogicDeleteByIdWithFill,如果你配置了update时自动填充修改时间,这个选装件可以解决你的问题。
2019-09-27
已采纳回答 / 老猿
不太理解你为什么要这么做,你把@TableId设置到UserID上,主键策略设置为
type = IdType.INPUT 该类型主键表示新增时由你自己插入主键
2019-09-21