需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性,示例如下:
如上所示,我们在insert中指定了keyProperty="id",其中userId代表插入的BzzzXiangmu对象的主键属性。
BzzzXiangmu.java
控制器代码片
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]);
}
}