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]); } }
相关文章推荐
- 获取某个树节点下所有叶子节点,同时要求叶子节点是同一类对象,要求返回该叶子节点对象的id集合
- 代码调用DruidDataSource来管理conn连接,同时声明了ThreadLocal对象来保存每次线程请求所获取的连接,这样可以避免每个new一个JDBC
- mybatis插入一个对象后获取表中自增的主键Id并且传入到插入的的对象中,方便将对象中其他属性赋值给其他以前表主键Id作为非空字段的表
- Hibernate 保存之后获取对象ID
- SSM配置Mybatis实现自动获取插入数据的自增id至目标对象中
- mybatis插入一个对象后获取表中自增的主键Id并且传入到插入的的对象中,方便将对象中其他属性赋值给其他以前表主键Id作为非空字段的表
- Mybatis+MSSql插入数据的同时并获取自增的ID
- mybatis插入的同时获取主键id
- 根据dom对象或其id获取对象位置的代码
- 怎样获取session中的保存的对象的值:
- 日志打印到屏幕同时保存到文件及获取管道返回状态
- MyBatis获取Id自增长的值
- hibernate对象的三种状态以及插完一条数据后立刻获取到该条数据id
- 通过ID或NAME获取HTML标签对象及信息
- document.getElementById的简写方式(获取id对象的简略写法)
- jQuery根据ID、CLASS、等获取对象
- document.getElementById的简写方式(获取id对象的简略写法)
- 获取被拖动的对象的ID
- jQuery根据ID、CLASS、等获取对象
- 孙鑫VC学习笔记:第十三讲 保存可串行化的类对象 如何获取文档与视类指针