解決Mybatis查詢方法selectById()主鍵不一致問題
Mybatis-plus的通用mapper為我們封裝了很多方法,我們只需要將interface集成BaseMapper就可以。在BaseMapper中分裝了一個方法=》selectById()
selectById
這個方法是根據(jù)主鍵id進行查詢記錄的。返回一條記錄。測試如下,

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

注意這個表的主鍵就是uid,查詢試試

返回結(jié)果不如我們預(yù)期,打印出的SQL很奇怪,并沒有解析正確。猜測是因為無法正確解析出主鍵。
改一下,使用注解標(biāo)記一下主鍵

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

這次終于正確了
注意:selectById方法默認(rèn)使用的主鍵名是id,數(shù)據(jù)庫表中如果主鍵id名稱不一樣需要手動指定
補充知識:MyBatis-Plus 踩坑 ,getById查詢無效
使用AutoGenerator(AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼)生成代碼后,在Controller中使用Service的getById()進行查詢,返回的對象居然是null
問題出在Entity上,由于我數(shù)據(jù)表的id字段名為id且int類型,自動生成的id字段名serialVersionUID且類型為long類型,與數(shù)據(jù)庫表對不上號。
使用getById(id)查詢自然為null
因為entity生成出來的主鍵沒注意到是不符合數(shù)據(jù)表的
所以解決方法是,把主鍵改成數(shù)據(jù)表對應(yīng)的:把主鍵id字段名改回id,且數(shù)據(jù)類型設(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()主鍵不一致問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Tomcat集群和Session復(fù)制應(yīng)用介紹
本文將詳細(xì)介紹Tomcat集群和Session復(fù)制應(yīng)用,需要了解的朋友可以參考下2012-11-11
Spring整合SpringMVC + Mybatis基礎(chǔ)框架的配置文件詳解
這篇文章主要介紹了Spring整合SpringMVC + Mybatis基礎(chǔ)框架的配置文件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
解決2022.3.1版本中?IDEA中?XML文件提示屎黃色背景的方法
這篇文章主要介紹了解決2022.3.1版本中?IDEA中?XML文件屎黃色背景?的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01
springboot中如何將logback切換為log4j2
springboot默認(rèn)使用logback作為日志記錄框架,常見的日志記錄框架有l(wèi)og4j、logback、log4j2,這篇文章我們來學(xué)習(xí)怎樣將logbak替換為log4j2,需要的朋友可以參考下2023-06-06
Java實現(xiàn)數(shù)字轉(zhuǎn)成英文的方法
這篇文章主要介紹了Java實現(xiàn)數(shù)字轉(zhuǎn)成英文的方法,涉及java數(shù)組與字符串的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05

