講師回答 / 老猿
MP自帶的CRUD操作是針對(duì)單表操作的,如果要操作多表,可以寫(xiě)自定義sql。給你舉個(gè)使用條件構(gòu)造器的多表sql例子,可以寫(xiě)在xml中或注解中,下面的是用xml的寫(xiě)法:<...code...>對(duì)應(yīng)的Mapper接口中...
2020-08-17
講師回答 / 老猿
我懷疑這應(yīng)該是MP默認(rèn)主鍵策略的問(wèn)題,你沒(méi)配置策略,他的默認(rèn)策略是雪花算法,用雪花算法生成主鍵了。而你主鍵類型為Integer,最大21億左右,超范圍了,所以報(bào)錯(cuò)。后來(lái)你配置了策略為AUTO,就是數(shù)據(jù)庫(kù)自增,MP就不給你設(shè)置主鍵了,所以正常。
2020-08-16
已采納回答 / YoYo_MM
其實(shí)總體來(lái)說(shuō)用yml更優(yōu)雅,更簡(jiǎn)潔。你可以很方便的看出屬性的父子關(guān)系,不像properties里面全都是代碼,感覺(jué)很亂。一般springboot支持的都可以用yml。
2020-08-15
已采納回答 / 老猿
應(yīng)該可以使用原生的mybatis的方式和條件構(gòu)造器混合使用,但要確保沒(méi)有sql注入風(fēng)險(xiǎn)才可以,例如:<...code...>
2020-08-13
已采納回答 / 老猿
1、insql這種使用sql注入風(fēng)險(xiǎn),但是你可以自己防止sql注入,例如保證拼接進(jìn)來(lái)的參數(shù),是后端邏輯計(jì)算出來(lái)的,并且不存在風(fēng)險(xiǎn)的,不是前端傳的,如果是前端傳的,不建議用這種方式拼接。2、“王姓”的那個(gè)我應(yīng)該用的是likeRight吧,這個(gè)不存在注入風(fēng)險(xiǎn),你看看打印出來(lái)的sql語(yǔ)句就明白了。
2020-08-07
已采納回答 / 老猿
這個(gè)我認(rèn)為不是bug,你的說(shuō)那個(gè)短路與實(shí)現(xiàn)的效果,那是基于java語(yǔ)法層面的,mp基于應(yīng)用層面,實(shí)現(xiàn)不了你說(shuō)的這種需求。lambdaQueryWrapper.eq(StringUtil.isNotEmpty(xxx),Dto::getXX,new?BigDecimal(xxx));這個(gè)方法,會(huì)根據(jù)第一個(gè)條件是否為true來(lái)判斷,這句是否加入到sql中,但不能做短路處理。
2020-08-06
講師回答 / 老猿
你的createTime是什么類型的,還有是使用的lombok插件,還是自己寫(xiě)的get,set方法,也可能是沒(méi)有g(shù)et,set方法導(dǎo)致的。
2020-08-03
講師回答 / 老猿
是的,要用基本數(shù)據(jù)類型的包裝類,不能用基本數(shù)據(jù)類型,基本數(shù)據(jù)類型作為實(shí)例變量,默認(rèn)值是0、
2020-08-02