首页 > 其他分享 >SpringBoot主键回显

SpringBoot主键回显

时间:2023-01-09 10:14:41浏览次数:52  
标签:username SpringBoot 回显 int userId 主键 password public

1、背景:

在向数据库插入数据时,在主键自增时不需要主键字段,但是接下来还需主键进行其它操作

2、实现:

实体类:

public class User {
    private int userId;
    private String username;
    private String password;
    private int age;

    public User() {
    }

    public User(int userId, String username, String password, int age) {
        this.userId = userId;
        this.username = username;
        this.password = password;
        this.age = age;
    }

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

service层:

    @Override
    public int userAdd(User user) {
        System.out.println("插入数据库之前的userId: " + user.getUserId());
        int x = userMapper.userAdd(user);
        System.out.println("插入数据库之后的userId: " + user.getUserId());
        return x;
    }

xml文件:

    <insert id="userAdd" keyColumn="user_id"
            useGeneratedKeys="true" keyProperty="userId">
        insert into user (username,password) values(#{username},#{password})
    </insert>

结果:

image-20230109095531536

3、解释

useGeneratedKeys:

官方的说法是该参数的作用是:“允许JDBC支持自动生成主键,需要驱动兼容”

其本意是说:对于支持自动生成记录主键的数据库,如: MySQL , SQL Server ,此时设置useGeneratedKeys参数值为true,在执行添加记录之后可以获取到数据库自动生成的主键ID


keyProperty:

对应实体类中的字段


keyColumn:

对应数据库中的自增主键

标签:username,SpringBoot,回显,int,userId,主键,password,public
From: https://www.cnblogs.com/MiaoStudy/p/17036117.html

相关文章

  • SpringBoot——动态数据源(多数据源自动切换)
    前言日常的业务开发项目中只会配置一套数据源,如果需要获取其他系统的数据往往是通过调用接口,或者是通过第三方工具比如kettle将数据同步到自己的数据库中进行访问。 但......
  • Springboot使用不了jsp的一些bug
    因为在SpringBoot中不推荐使用JSP作为动态页面,我们要想使用JSP编写动态页面,需要手动添加webapp目录。形成这个样子就算成功了(不必须有web.xml) 由于SpringBoot自带tomca......
  • 实现分页几种常见方式(SpringBoot)
    实现分页作用:分页展示,减少数据的处理量封装一个MyBatisUtils工具类一、直接使用sql中的关键字limit(物理分页)使用Mybatis实现分页,核心仍为SQL写mybatis的接口UserMap......
  • VsCode新建Java、SpringBoot、Python、JavaWeb项目的基本步骤
    新建Java项目选中正上方的搜索框,按下F1快捷键,输入createJava,即可出现这样的一个命令:选中这个:然后为新创建的项目选择一个合适的位置就好啦!新建SpringBoot项目选中......
  • Element前端框架的简介+基于springboot框架的CRUD
    1ElementUI简介基于Vue的一套桌面端组件库,提前封装好的UI模板,方便开发者快速搭建一个网站前端界面。官网:https://element.eleme.cn/2ElementUI安装首先创建......
  • springboot的配置文件
    springboot为了简化spring,是一个用于方便使用spring的工具今天,这里分享springboot的配置文件一、分类springboot的配置文件有3种,分别以properties,yml,yaml后缀名结......
  • SpringBoot——Swagger2的集成和使用
    前言现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的沟通成本就增加了。所以一款强大的RESTfulAPI文档就至关重要了。而目前在后端领域,基本......
  • SpringBoot——Redis 的集成和简单使用
    前言在实际工作中,在存储一些非结构化或者缓存一些临时数据及热点数据时,一般上都会用上mongodb和redis进行这方面的需求。所以本文准备讲下缓存数据库Redis的集成,同时会介......
  • SpringBoot——异步开发之异步调用
    何为异步调用说异步调用前,我们说说它对应的同步调用。通常开发过程中,一般上我们都是同步调用,即:程序按定义的顺序依次执行的过程,每一行代码执行过程必须等待上一行代码执行......
  • SpringBoot——异步开发之异步请求
    何为异步请求在Servlet3.0之前,Servlet采用Thread-Per-Request的方式处理请求,即每一次Http请求都由某一个线程从头到尾负责处理。如果一个请求需要进行IO操作,比如访问数据......