講師回答 / 老猿
在啟動(dòng)類中加MapperScan注解了,他就是負(fù)責(zé)掃描Mapper接口類,托管給spring容器的。
講師回答 / 老猿
你好,對(duì)于你的提問(wèn),我之前的回答,所問(wèn)非所答了,關(guān)于流式查詢,mp應(yīng)該是沒(méi)有特殊的支持。但是mybatis是支持的,mybatis中可以使用Cursor,進(jìn)行流式查詢,具體方法你可以查閱網(wǎng)上相關(guān)文章。
2019-11-07
已采納回答 / 老猿
? ? ? ?同學(xué),經(jīng)過(guò)我驗(yàn)證,開(kāi)啟二級(jí)緩存后,MP的baseMapper中提供的一系列Select方法不能命中二級(jí)緩存,只有自定義的方法才能命中二級(jí)緩存。? ? ? ?MP官方的建議是:“我們建議緩存放到 service 層,你可以自定義自己的 BaseServiceImpl 重寫(xiě)注解父類方法,繼承自己的實(shí)現(xiàn)?!?/div>
2019-11-07
講師回答 / 老猿
? ? ? ?我明白是怎么回事了,官方就是這么設(shè)計(jì)的。insertBatchSome這個(gè)功能,如果你不排除某個(gè)字段的話,所有字段都會(huì)在Insert中。如果該字段為null也會(huì)給你添加到insert語(yǔ)句中。你的操作中,配置...
2019-11-01
講師回答 / 老猿
PerformanceInterceptor在3.2.0被移除了,如果想進(jìn)行性能分析,用第三方的,官方這樣寫(xiě)的“該插件?3.2.0?以上版本移除推薦使用第三方擴(kuò)展?執(zhí)行 SQL 分析打印?功能”,我課程中也講第三方擴(kuò)展執(zhí)行SQL分析打印功能了。
講師回答 / 老猿
? ? ? ? 可以用實(shí)體接多表字段,用自定義sql(如果自定義sql還想使用條件構(gòu)造器的話,可以參考我入門篇的第四章第一節(jié))。但是實(shí)體中的其他表的字段對(duì)應(yīng)的屬性,要加上@TableField(exist = false)。
已采納回答 / 老猿
嗯,是的,需要對(duì)源碼有一定了解,這個(gè)hasSetter()方法,是MetaObject類的方法,它是Mybatis提供的操作對(duì)象的元數(shù)據(jù)信息的工具類。
2019-10-24
講師回答 / 老猿
? ? ? ? 這個(gè)是idea的驗(yàn)證,他認(rèn)為你只在Mapper接口中有方法,沒(méi)有在xml中寫(xiě)對(duì)應(yīng)的sql語(yǔ)句,你可以在file->setting->Editor->Inspections->然后在搜索框中搜索Mybatis,在搜索的結(jié)果中,修改相應(yīng)項(xiàng)的級(jí)別就可以了。
2019-10-20
已采納回答 / 老猿
你好,我使用mysql5.7做實(shí)驗(yàn),進(jìn)行級(jí)聯(lián)刪除策略設(shè)置,例如我刪除一個(gè)角色表中的數(shù)據(jù),持有該角色的用戶表的用戶也跟著級(jí)聯(lián)刪除或者設(shè)置為set null,并且持有該角色的用戶都是2條,兩種不同策略下的執(zhí)行delete角色操作,影響的row都顯示為1,沒(méi)出現(xiàn)你說(shuō)的情況,請(qǐng)問(wèn)你是使用什么數(shù)據(jù)庫(kù)的什么版本,怎樣設(shè)置,怎么操作的出現(xiàn)了上述情況?
2019-10-09
講師回答 / 老猿
插入的時(shí)候確實(shí)沒(méi)有,你有兩個(gè)辦法,方法一:insert時(shí)自己在實(shí)體上把邏輯刪除字段set一下,設(shè)置為邏輯未刪除。方法二:在數(shù)據(jù)庫(kù)表中,為邏輯刪除標(biāo)識(shí)設(shè)置默認(rèn)值。
2019-10-09
講師回答 / 老猿
? ? ? ? 同學(xué),不要搞混概念啊,我的課程只是一個(gè)例子,用manager_id列作為TenantId(區(qū)分不同租戶的字段)了,TenantId應(yīng)該是你動(dòng)態(tài)獲取設(shè)置的。有的TenantId可能是當(dāng)前登錄人的機(jī)構(gòu)id或者其他的字段。一般是沒(méi)有拿當(dāng)前登錄人的id作為TenantId,建議你看看多租戶的信息,據(jù)我了解目前MP只支持單字段的TenantId。
2019-09-30
已采納回答 / 老猿
? ? ? ?設(shè)置邏輯刪除后,使用BaseMapper中的deleteById只是會(huì)將標(biāo)識(shí)字段更新為邏輯已刪除,不會(huì)更新其他字段。如果想在邏輯刪除時(shí)更新修改時(shí)間,可以參考我的課程的8-3節(jié),選裝件LogicDeleteByIdWithFill,如果你配置了update時(shí)自動(dòng)填充修改時(shí)間,這個(gè)選裝件可以解決你的問(wèn)題。
2019-09-27
已采納回答 / 老猿
不太理解你為什么要這么做,你把@TableId設(shè)置到UserID上,主鍵策略設(shè)置為
type?=?IdType.INPUT?該類型主鍵表示新增時(shí)由你自己插入主鍵
2019-09-21
- 課程須知
- 學(xué)習(xí)本課程前需要具備一定的MyBatis-Plus基礎(chǔ),并熟悉Lambda表達(dá)式和SpringBoot。建議先學(xué)習(xí)《MyBatis-Plus入門》課程,鏈接在此:http://idcbgp.cn/learn/1130。
- 老師告訴你能學(xué)到什么?
- 1、掌握MP邏輯刪除實(shí)現(xiàn) 2、掌握MP自動(dòng)填充實(shí)現(xiàn) 3、掌握MP樂(lè)觀鎖實(shí)現(xiàn) 4、掌握MP性能分析 5、掌握MP多租戶實(shí)現(xiàn) 6、掌握MP動(dòng)態(tài)表 7、掌握MP的SQL注入器
微信掃碼,參與3人拼團(tuán)