<insert id="insert" parameterType="User">
<selectKey keyProperty="userId" resultType="java.lang.String" order="BEFORE">
select uuid()
</selectKey>
INSERT INTO ll_user
(user_id, name, pwd, user_tel, wx_name,wx_headimg,role_id, status,
ad_id, address, logout_time,type, is_create_goods,
community_id, community_name,union_id, open_id_gzh, open_id_xcx)
VALUES
(#{userId}, #{name}, #{pwd}, #{userTel}, #{wxName},#{wxHeadImg}, #{roleId}, #{status},
#{adId}, #{address}, #{logoutTime},#{type},#{isCreateGoods},
#{communityId}, #{communityName}, #{unionId}, #{openIdGzh}, #{openIdXcx})
</insert>
keyProperty:selectKey子元素返回值将赋值到领域模型的哪个属性中。
resultType:返回结果类型
order:BEFORE 标识在执行插入语句之前执行
在设置keyProperty="userId"时这段代码会在执行insert语句之前产生一条uuid并赋值到当前user对象中的userId中。
所以在新增成功后直接getUserId就可以获取当前主键了