新增數據返回主鍵的問題

一、表結構html

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='用戶信息表';

二、mapper.xml代碼java

  第一種方式app

<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>

  第二種方式spa

<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>

三、dao層代碼xml

  int saveUser(UserDTO user);  htm

  進行保存操做後,返回的主鍵值就保存在參數user的userId中,而saveUser方法返回的則是保存操做返回的影響行數,成功則爲1,失敗爲0。blog

相關文章
相關標籤/搜索