mybatis插入的同时获取主键id
<insert id="insertAndReturnId" parameterType="com.qianlong.cms.entity.AppCmsRole" useGeneratedKeys="true" keyProperty="id"> insert into app_cms_role <trim prefix="(" suffix=")" suffixOverrides=","> <if test="name != null"> name, </if> <if test="createTime != null"> create_time, </if> <if test="updateTime != null"> update_time, </if> <if test="appId != null"> app_id, </if> <if test="roleName != null"> role_name, </if> <if test="rolePrivilege != null"> role_privilege, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="name != null"> #{name,jdbcType=VARCHAR}, </if> <if test="createTime != null"> #{createTime,jdbcType=TIMESTAMP}, </if> <if test="updateTime != null"> #{updateTime,jdbcType=TIMESTAMP}, </if> <if test="appId != null"> #{appId,jdbcType=INTEGER}, </if> <if test="roleName != null"> #{roleName,jdbcType=VARCHAR}, </if> <if test="rolePrivilege != null"> #{rolePrivilege,jdbcType=VARCHAR}, </if> </trim> </insert>
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。
方法:在mapper中指定keyProperty属性,示例如上:
AppCmsRole role=new AppCmsRole();
appCmsRoleExMapper.insertAndReturnId(role);
role.getId();//就能获取到id了,很神奇吧
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步