讲师回答 / 老猿
通过自定义方法可以实现多表情况下还使用条件构造器,我举个使用注解的例子,sql写在xml中也可以。
@Select("select a.*,b.* from table1 a inner join table2 b on a.id = b.id ${ew.customSqlSegment}") List&wra...
2019-08-07
已采纳回答 / 老猿
mp的通用枚举功能,官方教程比较详细,教程地址为:https://mybatis.plus/guide/enum.html。你可以先看看,能否根据教程学会如何使用,如果还有疑问,你可以再反馈给我。
2019-08-07
讲师回答 / 老猿
你好,我没有测试过,mp id自增的雪花算法的并发瓶颈是多少,个人认为每秒生成的id数量与机器性能肯定是有关系的。我在网上查到一篇文章说“整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由机器ID作区分),并且效率较高,经测试,SnowFlake每秒能够产生26万ID左右。”
2019-08-02
讲师回答 / 老猿
有个办法,使用MP的自动填充功能,你要填充的实体类属性上增加@TableField注解,注解中fill属性,设置填充的类型。然后在自己重写的继承MetaObjectHandler的类中,编写字段填充逻辑。在自动填充逻辑中,就可以调用雪花算法的类生成数字串的方法,然后填充进你要填充的字段。自动填充功能可以参考官方文档,地址:https://mybatis.plus/guide/auto-fill-metainfo.html
2019-08-02
老师在创建User实体类时没有Getter和Setter,大家记得做一下,不然insert测试类中setName等插入功能无法实现。
2019-07-28
已采纳回答 / 老猿
你好,我试验了一下,在我本地按你收的那些写是好使的,你是实体中是驼峰,数据库中是下划线的形式吗?MP默认实体驼峰转数据库的下划线形式,如果不是需要改过来。如果不是这个问题,方便的话,你可以把代码粘贴出来,我找找原因。
2019-07-26
讲师回答 / 老猿
年龄等于27或者小于29,只有Boss符合。王天风是boss的手下,他的manager_id就是Boss的主键,当然删不掉,提示也挺清楚,就是有外键约束问题。你要删除Boss,有几种办法,第一种需要先删除王天风,当然王天风也是有手下的,其实得最先删除王天风的下级。方法二,设置主外键级联删除,一般很少有这么干的风险很大。方法三:设置如果主表中记录删除,引用主表记录的外键设置为null,当然这中设置也存在风险。
2019-07-25
讲师回答 / 老猿
与多租户sql解析器的实现是类似的,具体你可以参考多租户sql解析器,他俩的最大区别是,动态表名解析器,配置的处理器可以是多个,通过可以通过DynamicTableNameParser类型对象的setTableNameHandlerMap设置,篇幅有限,我粘贴出关键部分代码: DynamicTableNameParser parser = new DynamicTableNameParser(); Map<String, ITableNameHandler> handlerM...
2019-07-25