講師回答 / 老猿
如果你的TenantId為null的話,不會進(jìn)行過濾。你登錄后,獲取到company_id可以存儲到session中或者其他該用戶能獲取到其他用戶不能獲取的地方。然后在多租戶的getTenantId方法中取出來包裝成Expression對象返回即可。這樣就實現(xiàn)了登錄查詢是不過濾,其他方法過濾。
2020-03-21
講師回答 / 老猿
? ? ? ?按照我看到過的文章,說sql是從右向左解析的,能夠排除最大量數(shù)據(jù)的條件應(yīng)該放在最右面。你那句明顯應(yīng)該是user_id?= ?這個條件過濾掉的數(shù)據(jù)最多。單單從這條語句來說,deleted=0放在最前面是對的。但是其他情況則不一定,我目前了解的mp,這個邏輯刪除字段的位置還不能修改,你可以去MP官方群里咨詢一下作者,看看能否解決?;蛘咴趃ithub或gitee上提問。
2020-03-16
QueryWrapper<User> query =Wrappers.<User>query();
query.eq("name",val);
這里的name是數(shù)據(jù)庫的字段名 還是實體類的屬性
視頻中您講的是數(shù)據(jù)庫的字段名
query.eq("name",val);
這里的name是數(shù)據(jù)庫的字段名 還是實體類的屬性
視頻中您講的是數(shù)據(jù)庫的字段名
2020-03-16
講師回答 / 老猿
? ? ? 按我目前的實踐來看,使用了mp提供的參數(shù)中包含實體類的插入或更新方法,如果你實現(xiàn)了自動填充功能,就會觸發(fā)MetaObjectHandler中的相應(yīng)方法,你可以參考我視頻里講的,在MetaObjectHandler中的相應(yīng)方法中,某些場景下如果不需要執(zhí)行方法中的業(yè)務(wù)邏輯是如何忽略的。
2020-03-14
講師回答 / 老猿
? ? ? 你用的MP是什么版本,在3.2.0以上已經(jīng)移除性能分析插件,推薦使用第三方的,我在課程中也講解了第三方的。? ? ? 如果你還想用這個,那么你可以按照官方教程配置,教程地址:https://mybatis.plus/guide/performance-analysis-plugin.html,然后在在vm-options中輸入-Dspring.profiles.active=你激活性能分析插件的環(huán)境,例如:-Dspring.profiles.active=test。如果仍然有問題,再反饋給我。
2020-03-13
講師回答 / 老猿
是對所有表中有這兩個字段,并且在實體類中的屬性中設(shè)置了以下注解的表生效。
@TableField(fill?=?FieldFill.INSERT)?//insert語句生效 或者 @TableField(fill?=?FieldFill.UPDATE)?//update語句生效 或者 @TableF...
2020-03-06
講師回答 / 老猿
? ? ? ?原因是這樣的,那個自動填充方法,對你操作的每個類型的實體的insert和update都會攔截的。有的需求自動填充的不一定是時間,可能自動填充的值需要調(diào)用一連串方法獲取或者獲取的時間開銷比較大。這時候使用hasSetter方法,來判斷該實體是否具有該屬性,如果有再調(diào)用那些方法獲取值,然后進(jìn)行填充,沒有就根本不調(diào)用,減小開銷。
2020-03-02
講師回答 / 老猿
有兩種需求,你可能使用到它。一種是,我更新某個實體,不設(shè)置值的,我都想更新為null,而不是忽略。還有一種就是,你更新時要始終排除某個字段,防止被誤更新上以及不想將該字段更新成null。
2020-02-21
講師回答 / 老猿
我使用MP的版本是3.3.1.tmp。mysql數(shù)據(jù)庫5.7。試驗了一下自動填充,插入后不帶毫秒數(shù),沒出現(xiàn)你這種情況。
2020-02-15
講師回答 / 老猿
在代碼生成器中的StrategyConfig類中,有setTablePrefix方法,你試試看看能不能設(shè)置出表名前綴。例如:<...code...>
2020-02-12
講師回答 / 老猿
? ? ? ?你這個代碼我下載下來了,我這調(diào)試起來,稍微有點費(fèi)勁。我給你個思路,你看看行不行,如果不行我再幫你調(diào)試一下。? ? ? ? 就是你不要把PaginationInterceptor注入到攔截器中,你可以像...
2020-02-10