mybatis 添加一条新数据并返回此数据的ID(主键)
来源:互联网 发布:break c语言定义 编辑:程序博客网 时间:2024/05/06 00:22
通常数据库中表的主键是‘自动递增(mysql)’或’序列(oracle)‘,但插入数据后又要取得些条数据的ID(将ID做为主键)
利用Mybatis 的 selectKey来获得:
<!-- 添加部门 返回部门ID --><insert id="addDept" parameterType="com.demo.model.Department" keyProperty="id"><selectKey keyProperty='id' resultType='int' order='AFTER' >select LAST_INSERT_ID();</selectKey> insert into department(<include refid="departmentAllField"/>) values(#{departmentId},#{departmentName},#{departmentManagerName},#{companyId}); </insert>
或
<insert id="addDept" parameterType="com.demo.model.Department" useGeneratedKeys="true" keyProperty="id"> insert into department(<include refid="departmentAllField"/>) values(#{departmentId},#{departmentName},#{departmentManagerName},#{companyId});</insert><span style="font-family: Arial, Helvetica, sans-serif;"></span>
注意:insert 标签中的 keyProperty 和 selectKey标签块中的 LAET_INSERT_ID() ,另外 order属性 对于 oracl为 BEFORE; mysql为AFTER
实体类:
public class Department {private int id;private int departmentId;private String departmentName;private String departmentManagerName;private int companyId;private List<Employee> employees;//...GET SET ...}
测试:
@Testpublic void testDao(){deptDao = session.getMapper(DepartmentDao.class);Department department = new Department();department.setDepartmentName("ares");department.setDepartmentManagerName("tom");department.setDepartmentId(32);department.setCompanyId(6201);deptDao.addDept(department);System.out.println("新部门ID:"+department.getId());}
输出成功!
0 0
- mybatis 添加一条新数据并返回此数据的ID(主键)
- mybatis 添加一条新数据并返回此数据的ID(主键)
- mybatis实现新添加一条数据,并获取新添加数据的ID
- mysql+mybatis插入一条数据后返回主键ID
- mybatis+mysql insert添加数据后返回数据主键id
- mybatis+oracle添加一条数据并返回所添加数据的自增列
- mybatis添加数据返回主键
- Mybatis中添加一条记录返回记录主键id
- 添加数据并返回对应的id
- 使用Mybatis时,在插入一条数据记录返回主键id值
- mybatis 插入数据返回主键id
- Mybatis-insert数据返回主键id
- 插入一条数据并返回ID
- MyBatis插入数据 返回插入的主键ID
- Mybatis插入一条数据后返回刚插入数据主键
- mybatis 插入一条数据返回相应数据ID
- mybatis 插入一条数据返回相应数据ID
- myBatis 新增数据并返回ID
- 亿级用户下的新浪微博平台架构解析
- pthread_join函数及linux线程
- 最全Pycharm教程(38)——Pycharm版本控制之远程共享
- CentOS 6 时间,时区,设置修改及时间同步
- Linux 之定时任务crontab
- mybatis 添加一条新数据并返回此数据的ID(主键)
- 在Mac pro上如何查看android设备的文件及怎么配置adb。
- 如何在不影响hadoop集群正常运行的情况下迁移主控节点[namenode]
- Android工程文件下assets文件夹与res文件夹的区别
- windows 2008 ftp配置及用户权限管理
- wireshark iphone 抓包
- 西安古城
- $(function(){})和$(document).ready(function(){})
- vi命令