首页 > 作文

tk.Mybatis 插入数据获取Id问题

更新时间:2023-04-03 23:29:30 阅读: 评论:0

目录
1、问题描述2、问题分析3、总结

1、问题描述

几种代码写法会有不同的id返回值,下面我们一一分析。

2、问题分析

  首先一种插入写法,源码如下:

sysur .java

/** * 用户管理(sysur)实体类 * * @author chen * @since 2020-05-06 14:16:48 */@data@apimodel("用户管理")public class sysur implements rializable {    private static final long rialversionuid = 993569543176442301l;    /**    * 编号    */    @i山东美女d    private long id;    /**    * 用户名    */    private string name;    /**    * 昵称    */    private string nickname;    /**    * 头像    */    private string avatar;    /**    * 密码    */    private string password;    /**    * 加密盐    */    private string salt;    /**    * 邮箱    */    private string email;    /**    * 手机号    */    private string mobile;    /**    * 状态  0:禁用   1:正常    */    private object status;    /**    * 机构id    */    private long deptid;    /**    * 创建人    */    private string createby;    /**    * 创建时间    */    private date createtime;    /**    * 更新人    */    private string lastupdateby;    /**    * 更新时间    */    private date lastupdatetime;    /**    * 是否删除  -1:已删除  0:正常    */    private object delflag;}

测试类

    @test    void inrt() {  感恩老师的图片      sysur sysur = new sysur();        sysur.tname("zhangsan3");        sysur.tnickname("张三3");        sysur inrt = sysurrvice.inrt(sysur);        system.out.println(inrt);    }

结果输出:

sysur(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,这显然不符合我们的预期。于是修改代码。只改测试类。比如输入id=0。源码如下:

    @test    void inrt() {        sysur sysur = new sysur();        sysur.tid(0l);        sysur.tname("zhangsan6");        sysur.tnickname("张三6");        sysur inrt = sysurrvice.inrt(sysur);        system.out.println(inrt);    }

再次运行程序,控制台输出如下:

sysur(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)

嗯,好像确实输出了id=0,符合我们的预期,但是真的是这样吗?我们看看数据库限制是什么样。

没错,我们的真实id是38。这里就有问题了。查阅相关资料说是在实体类中添加@generatedvalue(strategy = generationtype.identity)就可以了。于是我们照做。修改实体类如下:

/** * 用户管理(sysur)实体类 * * @author chen * @since 2020-05-06 14:16:48 */@data@apimodel("用户管理")public class sysur implements rializable {    private static final long rialversionuid = 993569543176442301l;    /**    * 编号    */    @id    @generatedvalue(strategy = generationtype.identity)    private long id;    /**    * 用户名    */    private string name;    /**    * 昵称    */    private string nickname;    /**    * 头像    */    private string avatar; 网络电脑   /**    * 密码    */    private string password;    /2020跨年语录**    * 加密盐    */    private string salt;    /**    * 邮箱    */    private string email;    /**    * 手机号    */    private string mobile;    /**    * 状态  0:禁用   1:正常    */    private object status;    /**    * 机构id    */    private long deptid;    /**    * 创建人    */    private string createby;    /**    * 创建时间    */    private date createtime;    /**    * 更新人    */    private string lastupdateby;    /**    * 更新时间    */    private date lastupdatetime;    /**    * 是否删除  -1:已删除  0:正常    */    private object delflag;}

主要就是改了这里。ok,继续运行程序,结果如下:

sysur(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,什么鬼。再看看数据库。

明显不是0。所以这里不能设置id的属性。修改测试类。源码如下:

    @test    void inrt() {        sysur sysur = new sysur();        sysur.tname("zhangsan6");        sysur.tnickname("张三6");        sysur inrt = sysurrvice.inrt(sysur);        system.out.println(inrt);    }

继续运行程序,结果如下:

sysur(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了,查看数据库。

很明显对上了。

3、总结

到此这篇关于tk.mybatis 插入数据获取id问题的文章就介绍到这了,更多相关tk.mybatis 插入数据获取id内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-03 23:29:29,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/2a37e074aa47e94e480a6ae11738bcce.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:tk.Mybatis 插入数据获取Id问题.doc

本文 PDF 下载地址:tk.Mybatis 插入数据获取Id问题.pdf

标签:的是   更新时间   用户   源码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图