码迷,mamicode.com
首页 > 数据库 > 详细

MyBatis+MySQL 返回插入记录的主键ID

时间:2014-06-25 07:13:38      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:mybatis   mysql   

今天用到了多个表之间的关系,另一个表中的一个字段要以第一个表的主键作为外键。

下面说两种方法,MyBatis+MySQL 返回插入记录的主键ID:

第一种:

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">
	insert into user(userName,password,comment)
	values(#{userName},#{password},#{comment})
</insert>

第二种:

<insert id="insert" parameterType="cn.***.beans.LogObject" >
	<selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="id">
		SELECT LOGS_SEQ.nextval AS ID FROM DUAL
	</selectKey>
	INSERT INTO S_T_LOGS (
		ID, 
		USER_ID, 
		USER_NAME, 
		USER_IP, 
		OPERATION_TIME,
 		DESCRIPTION, 
		RESOURCE_ID) 
	VALUES (
		#{id}, 
		#{userId}, 
		#{userName}, 
		#{userIp}, 
		#{operationTime},
 		#{description}, 
		#{resourceId})
</insert>


这两种写法都可以,但有两点一定要注意:

一: keyProperty="id" 这个id必须是实体的id,而不是数据表的主键id,否则,得不到正确的返回结果;

二:接收返回值时候,必须用实体的get属性,而不能定义变量,否则,接收不到正确的返回结果:即必须用user.getId()来接收。


MyBatis+MySQL 返回插入记录的主键ID,布布扣,bubuko.com

MyBatis+MySQL 返回插入记录的主键ID

标签:mybatis   mysql   

原文地址:http://blog.csdn.net/gisredevelopment/article/details/34202123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!