Mybatis_设置主键自增后返回主键值

  • MySQL
<!-- 
	useGeneratedKeys="true"
	keyProperty 主键保存的属性名字
	新增后主键 保存在了传入的 User对象的userId属性中了
 -->
<insert id="insert" parameterType="user" useGeneratedKeys="true" keyProperty="userId">
	insert into user (username,password,sex,createtime) values 
	(#{username},#{password},#{sex},#{createtime})
</insert>
  • Oracle
<!-- 
	oracle 
		创建序列对象 create sequence seq_t_user_id;
 -->
<insert id="insert" parameterType="com.test.model.User">
	<!-- 执行一个查询语句 
		将查询的结果保存在 传入的User对象的指定的userId属性中去
	-->
	<selectKey order="BEFORE" resultType="int" keyProperty="userId">
		select seq_t_user_id.nextval userid from dual
	</selectKey>
	<!-- 
		oracle数据库中传入的参数为null时,必须要给参数添加jdbcType的属性的 而该属性对相应的值在JdbcType的枚举中定义
	 -->
	insert into t_user (user_id,username,password,sex,createtime) values 
	(#{userId},#{username},#{password},#{sex},#{createtime,jdbcType=VARCHAR})
</insert>
发布了340 篇原创文章 · 获赞 23 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Chill_Lyn/article/details/103753131