zoukankan      html  css  js  c++  java
  • SpringBoot整合MyBatis获得插入数据后获取主键,返回值总是1

    xml里的写法 

    <insert id="insertLogin" parameterType="com.xyt.p2p.pojo.LoginInfo" keyColumn="userId" 
     useGeneratedKeys="true" keyProperty="userId">
        INSERT INTO LoginInfo
            (username,password,state,role)
        VALUES
            (#{username},#{password},#{state}, #{role})
    </insert>

    采用keyProperty的方式获取主键,我的实体类上也有对应的属性cardId,而我数据库的主键card_id也是自增的,但是获得的值一直是1?!!!

    em…难道是我启动项目的姿势不对?要不我换个妖娆的姿势启动看看?莫非代码也看脸?

    几经周转才发现原来是因为我service层获得主键id的方式不对,下面是我错误的写法:

    serviceImpl写法: 
    1.错误的示范:其实xml里面sql执行后返回的值是受影响行数

    public Result register(LoginInfo user) {
        Long userId = loginMapper.insertLogin(user);
        System.out.println(userId);
    }

    2.正确方式

    public Result register(LoginInfo user) {
        loginMapper.insertLogin(user);
        System.out.println(user.getUserId());
    }

    最终还是需要用之前传入的对象的getId()方法来获取。

    ending...

    原文:https://blog.csdn.net/weixin_42244235/article/details/82391810

  • 相关阅读:
    推荐系统中的特征处理
    推荐系统之协同过滤
    python 对字典排序
    推荐系统资料汇总
    python print和strip
    python ConfigParse模块(转)
    01_HBase概述
    04_Storm编程上手_WordCount集群模式运行
    03_Storm编程上手-wordcount
    02_Storm集群部署
  • 原文地址:https://www.cnblogs.com/hxun/p/12132346.html
Copyright © 2011-2022 走看看