讲师回答 / 老猿
你好,我没有测试过,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
已采纳回答 / 老猿
你好,我试验了一下,在我本地按你收的那些写是好使的,你是实体中是驼峰,数据库中是下划线的形式吗?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
讲师回答 / 老猿
从3.1.1开始MP提供了动态表名SQL解析器,实现了表名的动态替换,但是也是一次查一张表。你如果一次想查询多张表的结果,就得使用分库分表插件了,例如:Sharding-JDBC
2019-07-24
已采纳回答 / 老猿
你说的构造器,应该是指条件构造器吧,不是必须要传的呀,我课程中讲的那个例子,是为了教大家,在MP中既要自定义方法,又要使用条件构造器的话怎么办。 原生的mybatis就支持自定义方法的,你既可以通过注解的方式写,也可以通过xml方式写。
2019-07-21
最赞回答 / 请用手机端下载视频
解决方法: UserMapper extends BaseMapper没有写泛型,加上就好了
public interface UserMapper extends BaseMapper
2019-07-21