<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>