講師回答 / 老猿
? ? ? ?你好,我沒有測試過,mp id自增的雪花算法的并發(fā)瓶頸是多少,個人認為每秒生成的id數(shù)量與機器性能肯定是有關系的。我在網上查到一篇文章說“整體上按照時間自增排序,并且整個分布式系統(tǒng)內不會產生ID碰撞(由機器ID作區(qū)分),并且效率較高,經測試,SnowFlake每秒能夠產生26萬ID左右。”
2019-08-02
講師回答 / 老猿
? ? ? ?有個辦法,使用MP的自動填充功能,你要填充的實體類屬性上增加@TableField注解,注解中fill屬性,設置填充的類型。然后在自己重寫的繼承MetaObjectHandler的類中,編寫字段填充邏輯。在自動填充邏輯中,就可以調用雪花算法的類生成數(shù)字串的方法,然后填充進你要填充的字段。自動填充功能可以參考官方文檔,地址:https://mybatis.plus/guide/auto-fill-metainfo.html
2019-08-02
講師回答 / 老猿
? ? ? 年齡等于27或者小于29,只有Boss符合。王天風是boss的手下,他的manager_id就是Boss的主鍵,當然刪不掉,提示也挺清楚,就是有外鍵約束問題。你要刪除Boss,有幾種辦法,第一種需要先刪除王天風,當然王天風也是有手下的,其實得最先刪除王天風的下級。方法二,設置主外鍵級聯(lián)刪除,一般很少有這么干的風險很大。方法三:設置如果主表中記錄刪除,引用主表記錄的外鍵設置為null,當然這中設置也存在風險。
2019-07-25
講師回答 / 老猿
? ? ? ?與多租戶sql解析器的實現(xiàn)是類似的,具體你可以參考多租戶sql解析器,他倆的最大區(qū)別是,動態(tài)表名解析器,配置的處理器可以是多個,通過可以通過DynamicTableNameParser類型對象的setTableNameHandlerMap設置,篇幅有限,我粘貼出關鍵部分代碼: DynamicTableNameParser parser = new DynamicTableNameParser(); Map<String, ITableNameHandler> handlerM...
2019-07-25
講師回答 / 老猿
從3.1.1開始MP提供了動態(tài)表名SQL解析器,實現(xiàn)了表名的動態(tài)替換,但是也是一次查一張表。你如果一次想查詢多張表的結果,就得使用分庫分表插件了,例如:Sharding-JDBC
2019-07-24
講師回答 / 老猿
抱歉,網站規(guī)定,不能提供給你。不過有的同學把自己跟著課程練習的項目上傳到gitee上了,在留言區(qū)和評論區(qū)可以找到鏈接,你可以參考一下。
2019-07-21
講師回答 / 老猿
同學,你數(shù)據(jù)庫編碼是否為UTF-8,程序的編碼是否為UTF-8,如果不是,都設置為UTF-8再試試。還有name亂碼,是怎么亂碼,是存到數(shù)據(jù)庫中亂碼,還是數(shù)據(jù)庫中正常,取出來亂碼?
2019-07-18
講師回答 / 老猿
可以的呀,同學??梢赃@樣寫,例如:query.select(User.class, info->info.getColumn().equals("id"));
2019-07-17
講師回答 / 老猿
1、2.x版本是EntityWrapper,沒有QueryWrapper。2、你可以看看mybatis-plus的啟動器引用的坐標對不對,要引用mybatis-plus-boot-starter而不是mybatis-plus。3、啟動類或配置類上是否增加了@MapperScan("你的Mapper接口所在的包")注解。
2019-07-12