insert元素主键回填与自定义规则

<insert id="create" useGeneratedKeys="true" keyProperty="id"
		parameterType="user_entity">
		INSERT INTO
		ufis.user
		(creater,telephone,username,real_name,password)
		VALUES
		(#{creater,jdbcType=CHAR},
		#{telephone,jdbcType=VARCHAR},
		#{username,jdbcType=VARCHAR},
		#{realName,jdbcType=VARCHAR},
		#{password,jdbcType=VARCHAR})
	</insert>

使用useGeneratedKeys=“true”来获取有数据库内部生成的主键

使用keyProperty来指定哪个是主键字段

插入后会自动填充主键


假设取消表的id自增的规则,如果表没有记录,则我们需要设置id=1,

否则我们就去最大id加2,来设置新的主键

<insert id="insertRole" parametertype="role" useGeneratedKeys="true"
	keyProperty="id">
	<selectKey keyProperty="id" resultType="int" order="BEFORE">
		SELECT
		if(max(id) is null,1,max(id)+2) as newId FROM t_role
	</selectKey>
	INSERT INTO t_role(id,role_name,note) VALUES
	(#{id},#{roleName},#{note})
</insert>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值