在mapper的xml文件中配置 useGeneratedKeys
以及 keyProperty 返回Id即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<insert id= "insertObject" useGeneratedKeys= "true" keyProperty= "id" parameterType= "www.change.tm.model.Orders" > insert into orders <trim prefix= "(" suffix= ")" suffixOverrides= "," > < if test= "number!=null" > OrderNumber, </ if > < if test= "orderTime!=null" > orderTime, </ if > </trim> values <trim prefix= "(" suffix= ")" suffixOverrides= "," > < if test= "number!=null" > #{number}, </ if > < if test= "orderTime!=null" > #{orderTime}, </ if > </trim> </insert> |
1、XyzMapper.xml
1
2
3
|
<insertid=“doSomething "parameterType=" map "useGeneratedKeys=" true "keyProperty=“yourId" > ... </insert> |
或
1
2
3
|
<insert id=“doSomething " parameterType=“com.xx.yy.zz.YourClass" useGeneratedKeys= "true" keyProperty=“yourId"> ... </insert> |
2、XyzMapper.java
1
2
3
4
|
public int doSomething(Map<String, Object> parameters); or public int doSomething(YourClass c); |
3、要在map或c中有一个字段名为yourId,Mybatis会自动把主键值赋给这个字段。
1
2
3
4
5
|
Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put(“yourId”, 1234 ); ... mapper.doSomething(parameters); System.out.println(“id of the field that is primary key” + parameters.get(“yourId")); |
或
1
2
3
4
|
YourClass c = new YourClass(); ... mapper.doSomething(c); System.out.println(“id of the field that is primary key” + c.yourId); |
好了,到此结束,希望对大家有所帮助!
原文链接:http://blog.csdn.net/mr_yarnell/article/details/70146838