1. 程式人生 > >sprimgmvc mybatis 儲存物件的同時獲取id

sprimgmvc mybatis 儲存物件的同時獲取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.java

Javabeen程式碼  收藏程式碼
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]); } }