您的位置:首页 > 编程语言 > Java开发

sprimgmvc mybatis 保存对象的同时获取id

2016-10-10 14:14 232 查看


MyBatis+MySQL 返回插入的主键ID

需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。

 

方法:在mapper中指定keyProperty属性,示例如下:

Xml代码  


<insert id="saveBzzzXiangmu" parameterType="BzzzXiangmu"
useGeneratedKeys="true" keyProperty="id">
insert into
dt_bzzz_xiangmu
(class_id,type,xiangmu_id, name,
value)
values
(#{class_id},#{type},#{xiangmu_id},#{name},#{value})
</insert>
 如上所示,我们在insert中指定了keyProperty="id",其中userId代表插入的BzzzXiangmu对象的主键属性。 BzzzXiangmu.javaJavabeen代码  

package com.app.bean;
/*
* 辨证诊治辩证
* pjc
* 2016.12.20
*/
public class BzzzBianzheng {
private int id;
private int class_id;
private int type;
private int xiangmu_id;
private int fenxing_id;
private String value;
public BzzzBianzheng() {
super();
}
public BzzzBianzheng(int id, int class_id, int type, int xiangmu_id, int fenxing_id, String value) {
super();
this.id = id;
this.class_id = class_id;
this.type = type;
this.xiangmu_id = xiangmu_id;
this.fenxing_id = fenxing_id;
this.value = value;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getClass_id() {
return class_id;
}
public void setClass_id(int class_id) {
this.class_id = class_id;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getXiangmu_id() {
return xiangmu_id;
}
public void setXiangmu_id(int xiangmu_id) {
this.xiangmu_id = xiangmu_id;
}
public int getFenxing_id() {
return fenxing_id;
}
public void setFenxing_id(int fenxing_id) {
this.fenxing_id = fenxing_id;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return "BzzzBianzheng [id=" + id + ", class_id=" + class_id + ", type=" + type + ", xiangmu_id=" + xiangmu_id
+ ", fenxing_id=" + fenxing_id + ", value=" + value + "]";
}

}


控制器代码片

managerController.java    直接在控制器用dao层执行保存 而不是service层

else if (btntype.equals("0")) {// 添加辨证诊治疾病信息
				/*int num = bzzzService.saveBzzzXiangmu(class_id1, type1, xiangmu_id1, xiangmuName, value1);*/
BzzzXiangmu bzzzXiangmu=new BzzzXiangmu();
bzzzXiangmu.setClass_id(class_id1);
bzzzXiangmu.setType(type1);
bzzzXiangmu.setXiangmu_id(xiangmu_id1);
bzzzXiangmu.setName(xiangmuName);
bzzzXiangmu.setValue(value1);
int num =bzzzXiangmuDao.saveBzzzXiangmu(bzzzXiangmu);
/*	int xiangmu_id1=bzzzXiangmu.getXiangmu_id();*/
int num1 = bzzzService.updateBzzzJibing2(class_id1, type1);// 通用改变疾病信息
int num2 = 0;
int num3 = 0;
int size = java.lang.reflect.Array.getLength(fenxing_id);

// 取得这个阵列大小
for (int j = 0; j < size; j++) {
if (id2 != null && id2.length >= j + 1 && id3 != null && id3.length >= j + 1) { // 更新

num2 = bzzzService.updateBzzzFenxing(Integer.parseInt(id2[j]), class_id1, type1,
Integer.parseInt(fenxing_id[j]), zhuxing[j], zhengzhi[j]);// 批量修改辩证诊治分型信息
num3 = bzzzService.saveBzzzBianzheng(class_id1, type1, xiangmu_id1,
Integer.parseInt(fenxing_id[j]), bianzhengValue[j]);

} else {
num2 = bzzzService.saveBzzzFenxing(class_id1, type1, Integer.parseInt(fenxing_id[j]),
zhuxing[j], zhengzhi[j]);
num3 = bzzzService.saveBzzzBianzheng(class_id1, type1, xiangmu_id1,
Integer.parseInt(fenxing_id[j]), bianzhengValue[j]);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mybatis
相关文章推荐