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

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

MyBatis-Plus進階

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

講師回答 / 老猿
你需要設置workspace的字符集為“UTF-8”。如果不會設置,在百度中搜索eclipse設置workspace字符集,有很多文章會告訴你怎么設置。如果設置完不生效,重啟一下eclipse。

講師回答 / 老猿
? ? ? 多表聯查可以既使用xml或@select注解的方式寫sql,然后還能使用MP的條件構造器,這種方式,我個人認為挺優雅的。給你舉個例子:? ? ? ?MP自帶的CRUD操作是針對單表操作的,如果要操作多...

講師回答 / 老猿
在insertFill方法中使用strictInsertFill方法實現自動填充,在updateFill方法中strictUpdateFill方法實現自動填充。按我說的試試,看看好不好使。

講師回答 / 老猿
同學,你使用的是3.1.2,你看你截的第一幅圖,“modulelist=”這行,你用的是3.2.1以上使用的那個,你應該把這行注釋掉,用那個3.2.1以下使用的那個,把那個被注釋的取消注釋。

講師回答 / 老猿
TenantSchemaHandler這個我也沒用過,不知道你那是什么原因不生效,我只是使用過TenantHandler。你可以加入他們的官方群,詢問一下作者,或者在github/gitee上提問。

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

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

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

講師回答 / 老猿
? ? ? 按我目前的實踐來看,使用了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。
課程須知
學習本課程前需要具備一定的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
提交
取消