欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Mybatis查詢方法selectById()主鍵不一致問(wèn)題

 更新時(shí)間:2020年10月23日 14:50:24   作者:leaves_story  
這篇文章主要介紹了解決Mybatis查詢方法selectById()主鍵不一致問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

Mybatis-plus的通用mapper為我們封裝了很多方法,我們只需要將interface集成BaseMapper就可以。在BaseMapper中分裝了一個(gè)方法=》selectById()

selectById

這個(gè)方法是根據(jù)主鍵id進(jìn)行查詢記錄的。返回一條記錄。測(cè)試如下,

最終調(diào)用的是這個(gè)方法userDiamondMapper這個(gè)接口集成了BaseMapper。

注意這個(gè)表的主鍵就是uid,查詢?cè)囋?/p>

返回結(jié)果不如我們預(yù)期,打印出的SQL很奇怪,并沒(méi)有解析正確。猜測(cè)是因?yàn)闊o(wú)法正確解析出主鍵。

改一下,使用注解標(biāo)記一下主鍵

使用@TableId注解標(biāo)記主鍵id為uid,重試下

這次終于正確了

注意:selectById方法默認(rèn)使用的主鍵名是id,數(shù)據(jù)庫(kù)表中如果主鍵id名稱(chēng)不一樣需要手動(dòng)指定

補(bǔ)充知識(shí):MyBatis-Plus 踩坑 ,getById查詢無(wú)效

使用AutoGenerator(AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過(guò) AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個(gè)模塊的代碼)生成代碼后,在Controller中使用Service的getById()進(jìn)行查詢,返回的對(duì)象居然是null

問(wèn)題出在Entity上,由于我數(shù)據(jù)表的id字段名為id且int類(lèi)型,自動(dòng)生成的id字段名serialVersionUID且類(lèi)型為long類(lèi)型,與數(shù)據(jù)庫(kù)表對(duì)不上號(hào)。

使用getById(id)查詢自然為null

因?yàn)閑ntity生成出來(lái)的主鍵沒(méi)注意到是不符合數(shù)據(jù)表的

所以解決方法是,把主鍵改成數(shù)據(jù)表對(duì)應(yīng)的:把主鍵id字段名改回id,且數(shù)據(jù)類(lèi)型設(shè)置int

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("board_parent")
public class Parent extends BaseEntity {
 
  //private static final long serialVersionUID = 1L; 
  private int id;
 
  @NotEmpty(message = "父論壇名不能為空!")
  private String name;
 
  @NotNull(message = "管理員ID不能為空!")
  private Integer adminId; 
  public LocalDateTime createdDate; 
  public LocalDateTime updateDate; 
  public Integer state;
}

以上這篇解決Mybatis查詢方法selectById()主鍵不一致問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot上傳圖片到指定位置并返回URL的實(shí)現(xiàn)

    SpringBoot上傳圖片到指定位置并返回URL的實(shí)現(xiàn)

    本文主要介紹了SpringBoot上傳圖片到指定位置并返回URL,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下<BR>
    2022-03-03
  • Spring?Boot整合流控組件Sentinel的場(chǎng)景分析

    Spring?Boot整合流控組件Sentinel的場(chǎng)景分析

    Sentinel?提供簡(jiǎn)單易用、完善的?SPI?擴(kuò)展接口。您可以通過(guò)實(shí)現(xiàn)擴(kuò)展接口來(lái)快速地定制邏輯,這篇文章主要介紹了Spring?Boot整合流控組件Sentinel的過(guò)程解析,需要的朋友可以參考下
    2021-12-12
  • java final 和instanceof 關(guān)鍵字的區(qū)別

    java final 和instanceof 關(guān)鍵字的區(qū)別

    這篇文章介紹了java final 和instanceof 關(guān)鍵字的區(qū)別,有需要的朋友可以參考一下
    2013-09-09
  • SpringBoot整合log4j2日志的實(shí)現(xiàn)

    SpringBoot整合log4j2日志的實(shí)現(xiàn)

    在項(xiàng)目推進(jìn)中,如果說(shuō)第一件事是搭Spring框架的話,那么第二件事情就是在Sring基礎(chǔ)上搭建日志框架,大家都知道日志對(duì)于一個(gè)項(xiàng)目的重要性,尤其是線上Web項(xiàng)目,因?yàn)槿罩究赡苁俏覀兞私鈶?yīng)用如何執(zhí)行的唯一方式。此篇文章是博主在實(shí)踐中用Springboot整合log4j2日志的總結(jié)
    2021-06-06
  • 詳解context root修改無(wú)效web修改項(xiàng)目路徑(eclipse)

    詳解context root修改無(wú)效web修改項(xiàng)目路徑(eclipse)

    這篇文章主要介紹了詳解context root修改無(wú)效web修改項(xiàng)目路徑(eclipse)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Scala求和示例代碼

    Scala求和示例代碼

    這篇文章主要介紹了Scala求和示例代碼,需要的朋友可以參考下
    2019-06-06
  • 一篇文章帶你學(xué)習(xí)JAVA MyBatis底層原理

    一篇文章帶你學(xué)習(xí)JAVA MyBatis底層原理

    近來(lái)想寫(xiě)一個(gè)mybatis的分頁(yè)插件,但是在寫(xiě)插件之前肯定要了解一下mybatis具體的工作原理吧,本文就詳細(xì)總結(jié)了MyBatis工作原理,,需要的朋友可以參考下
    2021-09-09
  • @Transactional跟@DS動(dòng)態(tài)數(shù)據(jù)源注解沖突的解決

    @Transactional跟@DS動(dòng)態(tài)數(shù)據(jù)源注解沖突的解決

    這篇文章主要介紹了@Transactional跟@DS動(dòng)態(tài)數(shù)據(jù)源注解沖突的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java根據(jù)身份證號(hào)計(jì)算年齡,15位身份證號(hào)碼轉(zhuǎn)18位原理與操作示例

    Java根據(jù)身份證號(hào)計(jì)算年齡,15位身份證號(hào)碼轉(zhuǎn)18位原理與操作示例

    這篇文章主要介紹了Java根據(jù)身份證號(hào)計(jì)算年齡,15位身份證號(hào)碼轉(zhuǎn)18位原理與操作,結(jié)合實(shí)例形式詳細(xì)分析了構(gòu)成身份證號(hào)碼的各個(gè)位的含義,15位身份證號(hào)碼轉(zhuǎn)18位的方法及Java根據(jù)身份證號(hào)計(jì)算年齡相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • @Autowired注入為null的原因與解決方法

    @Autowired注入為null的原因與解決方法

    我們經(jīng)常會(huì)通過(guò)@Autowired注解將某個(gè)類(lèi)注到另一個(gè)類(lèi)中,但是會(huì)發(fā)現(xiàn)注不進(jìn)去,報(bào)NULL,所以本文就給大家分析了@Autowired 注入為null 的原因與解決方法,需要的朋友可以參考下
    2023-09-09

最新評(píng)論