讲师回答 / 老猿
Mysql支持主键自增,主键自增是依赖于数据库的机制,所以数据库中也要进行设置。有些数据库没有自增的主键,例如oracle,如果要实现主键自增依赖于sequence序列。 雪花算法是MP默认的主键策略,是通过Java程序生成的自增主键,不依赖于数据库。如果想使用数据库的自增,除了在MP中将主键策略设为自增,还要在数据库中进行设置。
2019-08-24
讲师回答 / 老猿
同学找到原因了,你的Mapper接口public interface DemoMapper extends BaseMapper<DemoMapper> 。BaseMapper的泛型写错了,BaseMapper的泛型是你要操作的实体。应该这样写。public interface DemoMapper extends BaseMapper<Demouser>
2019-08-13
讲师回答 / 老猿
你好,我用电脑听和手机听,没有断断续续呀,声音挺清晰的。你是用电脑还是手机听的?如果是电脑,我怀疑有可能是你电脑的声卡驱动有问题,或者发音设备有问题,也可能是设置有问题。
2019-08-08
讲师回答 / 老猿
通过自定义方法可以实现多表情况下还使用条件构造器,我举个使用注解的例子,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 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