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

tk.Mybatis 插入數(shù)據(jù)獲取Id問(wèn)題

 更新時(shí)間:2021年12月01日 16:02:05   作者:武漢加油、中國(guó)加油  
本文主要介紹了tk.Mybatis 插入數(shù)據(jù)獲取Id問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1、問(wèn)題描述

幾種代碼寫法會(huì)有不同的ID返回值,下面我們一一分析。

2、問(wèn)題分析

??首先一種插入寫法,源碼如下:

SysUser .java

/**
 * 用戶管理(SysUser)實(shí)體類
 *
 * @author Chen
 * @since 2020-05-06 14:16:48
 */
@Data
@ApiModel("用戶管理")
public class SysUser implements Serializable {
    private static final long serialVersionUID = 993569543176442301L;

    /**
    * 編號(hào)
    */
    @Id
    private Long id;

    /**
    * 用戶名
    */
    private String name;

    /**
    * 昵稱
    */
    private String nickName;

    /**
    * 頭像
    */
    private String avatar;

    /**
    * 密碼
    */
    private String password;

    /**
    * 加密鹽
    */
    private String salt;

    /**
    * 郵箱
    */
    private String email;

    /**
    * 手機(jī)號(hào)
    */
    private String mobile;

    /**
    * 狀態(tài)  0:禁用   1:正常
    */
    private Object status;

    /**
    * 機(jī)構(gòu)ID
    */
    private Long deptId;

    /**
    * 創(chuàng)建人
    */
    private String createBy;

    /**
    * 創(chuàng)建時(shí)間
    */
    private Date createTime;

    /**
    * 更新人
    */
    private String lastUpdateBy;

    /**
    * 更新時(shí)間
    */
    private Date lastUpdateTime;

    /**
    * 是否刪除  -1:已刪除  0:正常
    */
    private Object delFlag;
}

測(cè)試類

    @Test
    void insert() {
        SysUser sysUser = new SysUser();
        sysUser.setName("zhangsan3");
        sysUser.setNickName("張三3");

        SysUser insert = sysUserService.insert(sysUser);
        System.out.println(insert);
    }

結(jié)果輸出:

SysUser(id=null, name=zhangsan3, nickName=張三3, avatar=null, password=null, salt=null, email=null, mobile=null, status=null, deptId=null, createBy=null, createTime=null, lastUpdateBy=null, lastUpdateTime=null, delFlag=null)

是的我們獲取到的是id=null,這顯然不符合我們的預(yù)期。于是修改代碼。只改測(cè)試類。比如輸入id=0。源碼如下:

    @Test
    void insert() {
        SysUser sysUser = new SysUser();
        sysUser.setId(0L);
        sysUser.setName("zhangsan6");
        sysUser.setNickName("張三6");

        SysUser insert = sysUserService.insert(sysUser);
        System.out.println(insert);
    }

再次運(yùn)行程序,控制臺(tái)輸出如下:

SysUser(id=0, name=zhangsan4, nickName=張三4, avatar=null, password=null, salt=null, email=null, mobile=null, status=null, deptId=null, createBy=null, createTime=null, lastUpdateBy=null, lastUpdateTime=null, delFlag=null)

嗯,好像確實(shí)輸出了id=0,符合我們的預(yù)期,但是真的是這樣嗎?我們看看數(shù)據(jù)庫(kù)限制是什么樣。

在這里插入圖片描述

沒(méi)錯(cuò),我們的真實(shí)id是38。這里就有問(wèn)題了。查閱相關(guān)資料說(shuō)是在實(shí)體類中添加@GeneratedValue(strategy = GenerationType.IDENTITY)就可以了。于是我們照做。修改實(shí)體類如下:

/**
 * 用戶管理(SysUser)實(shí)體類
 *
 * @author Chen
 * @since 2020-05-06 14:16:48
 */
@Data
@ApiModel("用戶管理")
public class SysUser implements Serializable {
    private static final long serialVersionUID = 993569543176442301L;

    /**
    * 編號(hào)
    */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
    * 用戶名
    */
    private String name;

    /**
    * 昵稱
    */
    private String nickName;

    /**
    * 頭像
    */
    private String avatar;

    /**
    * 密碼
    */
    private String password;

    /**
    * 加密鹽
    */
    private String salt;

    /**
    * 郵箱
    */
    private String email;

    /**
    * 手機(jī)號(hào)
    */
    private String mobile;

    /**
    * 狀態(tài)  0:禁用   1:正常
    */
    private Object status;

    /**
    * 機(jī)構(gòu)ID
    */
    private Long deptId;

    /**
    * 創(chuàng)建人
    */
    private String createBy;

    /**
    * 創(chuàng)建時(shí)間
    */
    private Date createTime;

    /**
    * 更新人
    */
    private String lastUpdateBy;

    /**
    * 更新時(shí)間
    */
    private Date lastUpdateTime;

    /**
    * 是否刪除  -1:已刪除  0:正常
    */
    private Object delFlag;
}

在這里插入圖片描述

主要就是改了這里。OK,繼續(xù)運(yùn)行程序,結(jié)果如下:

SysUser(id=0, name=zhangsan5, nickName=張三5, avatar=null, password=null, salt=null, email=null, mobile=null, status=null, deptId=null, createBy=null, createTime=null, lastUpdateBy=null, lastUpdateTime=null, delFlag=null)

這里的id還是0,什么鬼。再看看數(shù)據(jù)庫(kù)。

在這里插入圖片描述

明顯不是0。所以這里不能設(shè)置id的屬性。修改測(cè)試類。源碼如下:

    @Test
    void insert() {
        SysUser sysUser = new SysUser();
        sysUser.setName("zhangsan6");
        sysUser.setNickName("張三6");

        SysUser insert = sysUserService.insert(sysUser);
        System.out.println(insert);
    }

繼續(xù)運(yùn)行程序,結(jié)果如下:

SysUser(id=40, name=zhangsan6, nickName=張三6, avatar=null, password=null, salt=null, email=null, mobile=null, status=null, deptId=null, createBy=null, createTime=null, lastUpdateBy=null, lastUpdateTime=null, delFlag=null)

這次id=40了,查看數(shù)據(jù)庫(kù)。

在這里插入圖片描述

很明顯對(duì)上了。

3、總結(jié)

到此這篇關(guān)于tk.Mybatis 插入數(shù)據(jù)獲取Id問(wèn)題的文章就介紹到這了,更多相關(guān)tk.Mybatis 插入數(shù)據(jù)獲取Id內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java8 對(duì)象轉(zhuǎn)Map時(shí)重復(fù) key Duplicate key xxxx的解決

    java8 對(duì)象轉(zhuǎn)Map時(shí)重復(fù) key Duplicate key xxxx的解決

    這篇文章主要介紹了java8 對(duì)象轉(zhuǎn)Map時(shí)重復(fù) key Duplicate key xxxx的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • springBoot定時(shí)任務(wù)處理類的實(shí)現(xiàn)代碼

    springBoot定時(shí)任務(wù)處理類的實(shí)現(xiàn)代碼

    這篇文章主要介紹了springBoot定時(shí)任務(wù)處理類,需要的朋友可以參考下
    2018-06-06
  • java抓包后對(duì)pcap文件解析示例

    java抓包后對(duì)pcap文件解析示例

    這篇文章主要介紹了java抓包后對(duì)pcap文件解析示例,需要的朋友可以參考下
    2014-03-03
  • feign?打印日志不顯示的問(wèn)題及解決

    feign?打印日志不顯示的問(wèn)題及解決

    這篇文章主要介紹了feign?打印日志不顯示的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java中jdk代理和cglib代理使用步驟詳解

    java中jdk代理和cglib代理使用步驟詳解

    這篇文章主要給大家介紹了關(guān)于java中jdk代理和cglib代理使用步驟的相關(guān)資料,JDK代理和CGLIB是Java中兩種常見(jiàn)的代理實(shí)現(xiàn)方式,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Java反射如何修改private final成員變量值

    Java反射如何修改private final成員變量值

    這篇文章主要介紹了Java反射如何修改private final成員變量值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Java 自定義注解的魅力

    Java 自定義注解的魅力

    這篇文章主要介紹了Java 自定義注解的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Java 內(nèi)存模型(JVM)

    Java 內(nèi)存模型(JVM)

    本文公國(guó)講解Java 內(nèi)存模型來(lái)看看解決可見(jiàn)性、有序性問(wèn)題的 Java 內(nèi)存模型(JMM),今天通過(guò)本文給大家介紹Java 內(nèi)存模型(JVM)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-08-08
  • JAVA統(tǒng)計(jì)字符串中某個(gè)字符出現(xiàn)次數(shù)的方法實(shí)現(xiàn)

    JAVA統(tǒng)計(jì)字符串中某個(gè)字符出現(xiàn)次數(shù)的方法實(shí)現(xiàn)

    本文主要介紹了JAVA統(tǒng)計(jì)字符串中某個(gè)字符出現(xiàn)次數(shù)的方法實(shí)現(xiàn),可以循環(huán)使用String的charAt(int index)函數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • Java對(duì)字符串進(jìn)行加密解密

    Java對(duì)字符串進(jìn)行加密解密

    這篇文章主要為大家詳細(xì)介紹了Java字符串加密解密,對(duì)用戶輸入的每個(gè)字符的值進(jìn)行加密解密,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論