mybatis主键回填的几种方式
2017-11-30 14:19
211 查看
1.对于int 可自增长型主键在.xmi映射文件中配置
<!-- 主键回填useGeneratedKeys="true" keyProperty="deptId" -->
<!-- keyProperty属性指定了哪个是主键字段,useGeneratedKeys的含义则是告诉mybatis这个主键是否使用数据库内置的策略生成 -->
<insert id="addDept" parameterType="com.uddtrip.login.pojo.Dept"
useGeneratedKeys="true" keyProperty="deptId">
insert into dept(dept_name)
values(#{deptName})
</insert>
2.对于uuid string型主键.xmi映射文件中配置
<!-- 自定义主键 useGeneratedKeys="true" selectKey -->
<insert id="addEmp" parameterType="com.uddtrip.login.pojo.Emp" useGeneratedKeys="true" >
<selectKey keyProperty="empId" order="BEFORE" resultType="java.lang.String">
select
UUID()
</selectKey>
insert into emp(emp_id,emp_name,sex,salary) values(#{empId},#{empName},#{sex},#{salary})
</insert>
或在java类中操作
emp.setEmpId(UUID.randomUUID().toString());
两者效果等价
<!-- 主键回填useGeneratedKeys="true" keyProperty="deptId" -->
<!-- keyProperty属性指定了哪个是主键字段,useGeneratedKeys的含义则是告诉mybatis这个主键是否使用数据库内置的策略生成 -->
<insert id="addDept" parameterType="com.uddtrip.login.pojo.Dept"
useGeneratedKeys="true" keyProperty="deptId">
insert into dept(dept_name)
values(#{deptName})
</insert>
2.对于uuid string型主键.xmi映射文件中配置
<!-- 自定义主键 useGeneratedKeys="true" selectKey -->
<insert id="addEmp" parameterType="com.uddtrip.login.pojo.Emp" useGeneratedKeys="true" >
<selectKey keyProperty="empId" order="BEFORE" resultType="java.lang.String">
select
UUID()
</selectKey>
insert into emp(emp_id,emp_name,sex,salary) values(#{empId},#{empName},#{sex},#{salary})
</insert>
或在java类中操作
emp.setEmpId(UUID.randomUUID().toString());
两者效果等价
相关文章推荐
- Mybatis——返回主键的几种方式
- MyBatis+Oracle实现主键自增长的几种常用方式
- MyBatis 映射SQL的几种方式
- Spring整合MyBatis的几种方式
- mybatis+mysql返回自增长主键的二种方式
- MyBatis SqlSessionFactory的几种常见创建方式
- mybatis代码生成的几种方式
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- Oracle实现主键自增长的几种方式
- mysql忽略主键冲突、避免重复插入的几种方式
- 剖析Hibernate主键生成几种常用方式
- 在mybatis中传入参数的几种方式 @Param
- mybatis和spring整合的几种方式及使用注解简化sql(不使用xml方式写sql)
- mysql 忽略主键冲突、避免重复插入的几种方式
- spring 整合 mybatis 中数据源的几种配置方式(总结篇)
- hibernate中主键的几种生成方式比较
- mysql 忽略主键冲突、避免重复插入的几种方式
- spring boot 链接Mysql数据库的几种方式:JdbcTemplate/Mybatis/JPA/JOOQ
- MyBatis Generator生成代码的几种方式
- Mybatis中,当插入数据后,返回最新主键id的几种方法,及具体用法