亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

MyBatis-Plus進階

難度高級
時長 2小時10分
學習人數
綜合評分9.77
28人評價 查看評價
10.0 內容實用
9.4 簡潔易懂
9.9 邏輯清晰

講師回答 / 老猿
如果你的TenantId為null的話,不會進行過濾。你登錄后,獲取到company_id可以存儲到session中或者其他該用戶能獲取到其他用戶不能獲取的地方。然后在多租戶的getTenantId方法中取出來包裝成Expression對象返回即可。這樣就實現了登錄查詢是不過濾,其他方法過濾。

講師回答 / 老猿
同學,你使用3.3.1.tmp版本試試,看看好不好使,我使用這個版本,debug時,看著調用的是BeanWrapper。

講師回答 / 老猿
? ? ? ?按照我看到過的文章,說sql是從右向左解析的,能夠排除最大量數據的條件應該放在最右面。你那句明顯應該是user_id?= ?這個條件過濾掉的數據最多。單單從這條語句來說,deleted=0放在最前面是對的。但是其他情況則不一定,我目前了解的mp,這個邏輯刪除字段的位置還不能修改,你可以去MP官方群里咨詢一下作者,看看能否解決?;蛘咴趃ithub或gitee上提問。
QueryWrapper<User> query =Wrappers.<User>query();
query.eq("name",val);

這里的name是數據庫的字段名 還是實體類的屬性
視頻中您講的是數據庫的字段名

講師回答 / 老猿
? ? ? 按我目前的實踐來看,使用了mp提供的參數中包含實體類的插入或更新方法,如果你實現了自動填充功能,就會觸發MetaObjectHandler中的相應方法,你可以參考我視頻里講的,在MetaObjectHandler中的相應方法中,某些場景下如果不需要執行方法中的業務邏輯是如何忽略的。

講師回答 / 老猿
? ? ? 你用的MP是什么版本,在3.2.0以上已經移除性能分析插件,推薦使用第三方的,我在課程中也講解了第三方的。? ? ? 如果你還想用這個,那么你可以按照官方教程配置,教程地址:https://mybatis.plus/guide/performance-analysis-plugin.html,然后在在vm-options中輸入-Dspring.profiles.active=你激活性能分析插件的環境,例如:-Dspring.profiles.active=test。如果仍然有問題,再反饋給我。

講師回答 / 老猿
同學,你可否提供一下關鍵代碼,還是粘貼錯誤信息的時候,截個圖也行,或者有換行。現在我看著太費勁了。

講師回答 / 老猿
該注解,除了可以使用在自定義方法上,還可以使用在類、接口或枚舉類上,你可以試試寫到Mapper接口上,是否生效。

講師回答 / 老猿
是對所有表中有這兩個字段,并且在實體類中的屬性中設置了以下注解的表生效。
@TableField(fill?=?FieldFill.INSERT)?//insert語句生效
或者
@TableField(fill?=?FieldFill.UPDATE)?//update語句生效
或者
@TableF...

講師回答 / 老猿
? ? ? ?原因是這樣的,那個自動填充方法,對你操作的每個類型的實體的insert和update都會攔截的。有的需求自動填充的不一定是時間,可能自動填充的值需要調用一連串方法獲取或者獲取的時間開銷比較大。這時候使用hasSetter方法,來判斷該實體是否具有該屬性,如果有再調用那些方法獲取值,然后進行填充,沒有就根本不調用,減小開銷。

講師回答 / 老猿
有兩種需求,你可能使用到它。一種是,我更新某個實體,不設置值的,我都想更新為null,而不是忽略。還有一種就是,你更新時要始終排除某個字段,防止被誤更新上以及不想將該字段更新成null。

講師回答 / 老猿
同學,我自己試驗了一下,我的正常。在父類中的屬性,查詢后,也會映射到對象中,我使用的MP版本是3.3.1.tmp。你使用的是什么版本?

講師回答 / 老猿
同學你好,你的這類需求,我在視頻 8-3 選裝件LogicDeleteByIdWithFill中有講解。你可以看看,如果還有疑問,再反饋給我。

講師回答 / 老猿
我使用MP的版本是3.3.1.tmp。mysql數據庫5.7。試驗了一下自動填充,插入后不帶毫秒數,沒出現你這種情況。

講師回答 / 老猿
在代碼生成器中的StrategyConfig類中,有setTablePrefix方法,你試試看看能不能設置出表名前綴。例如:<...code...>

講師回答 / 老猿
? ? ? ?你這個代碼我下載下來了,我這調試起來,稍微有點費勁。我給你個思路,你看看行不行,如果不行我再幫你調試一下。? ? ? ? 就是你不要把PaginationInterceptor注入到攔截器中,你可以像...
課程須知
學習本課程前需要具備一定的MyBatis-Plus基礎,并熟悉Lambda表達式和SpringBoot。建議先學習《MyBatis-Plus入門》課程,鏈接在此:http://www.xianlaiwan.cn/learn/1130。
老師告訴你能學到什么?
1、掌握MP邏輯刪除實現 2、掌握MP自動填充實現 3、掌握MP樂觀鎖實現 4、掌握MP性能分析 5、掌握MP多租戶實現 6、掌握MP動態表 7、掌握MP的SQL注入器

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消