zoukankan      html  css  js  c++  java
  • 新增数据返回主键的问题

    1、表结构

    CREATE TABLE `user` (
      `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户自增id',//必须设置为自增主键
      `user_name` varchar(64) NOT NULL COMMENT '用户名',
      `user_contactor` varchar(32) DEFAULT NULL COMMENT '联系人',
      `user_phone` varchar(16) DEFAULT NULL COMMENT '联系电话',
      `status` varchar(2) DEFAULT '1' COMMENT '状态  0禁用  1正常',
      `create_user` varchar(16) DEFAULT NULL COMMENT '创建人',
      `create_date` datetime DEFAULT NULL COMMENT '创建时间',
      `last_modify_user` varchar(16) DEFAULT NULL COMMENT '最近修改信息人',
      `last_modify_date` datetime DEFAULT NULL COMMENT '最后修改时间',
      PRIMARY KEY (`user_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';
    

    2、mapper.xml代码

      第一种方式

    <insert id="saveUser" parameterType="com.mysome.UserDTO" useGeneratedKeys="true" keyProperty="userId" keyColumn="user_id">
            INSERT INTO user(
            user_name, user_contactor, user_phone, status,
            create_user,create_date,last_modify_user,last_modify_date
            )
            VALUES (
            #{userName}, #{userContactor},#{userPhone}, #{status}, 
            #{createUser},#{createDate},#{lastModifyUser}, #{lastModifyDate}
            )
    </insert>
    

      第二种方式

    <insert id="saveUser" parameterType="com.mysome.UserDTO">
            INSERT INTO user(
            user_name, user_contactor, user_phone, status,
            create_user,create_date,last_modify_user,last_modify_date
            )
            VALUES (
            #{userName}, #{userContactor},#{userPhone}, #{status}, 
            #{createUser},#{createDate},#{lastModifyUser}, #{lastModifyDate}
            )
            <selectKey resultType="java.lang.Long" keyProperty="userId" order="AFTER">
                SELECT LAST_INSERT_ID()
            </selectKey>
    </insert>
    

    3、dao层代码

      int saveUser(UserDTO user);  

      进行保存操作后,返回的主键值就保存在参数user的userId中,而saveUser方法返回的则是保存操作返回的影响行数,成功则为1,失败为0。

      

  • 相关阅读:
    两数相除(leetcode29)
    基本数据类型与包装数据类型的使用标准
    BigDecimal
    整型包装类值的比较
    实现strStr()(leetcode28)
    移除数组(leetcode27)
    删除排序数组中的重复项(leetcode26)
    mybatis.xml配置文件详解
    多表连接
    动态SQL
  • 原文地址:https://www.cnblogs.com/yiyibinbin/p/9468238.html
Copyright © 2011-2022 走看看