Mybatis Insert 插入时拿到自增的主键ID

<insert id="接口方法明" parameterType="传参类型" useGeneratedKeys="true" 
keyColumn="数据库中主键名称" keyProperty="(实体类中主键对应的名字或者自定义名称)">
         .... sql 代码.....
</insert>

useGeneratedKeys="true" : 是否开启生成主键

keyColumn="数据库中主键名称"

eyProperty="(实体类中主键对应的名称或者自定义名称)">

如果你传入的参数是实体类, 那么请注意keyProperty 对应的应该是实体类中的主键ID;

如果你传入的参数是map,那么就可以自定义名称.

注意:新添加主键id并不是在执行添加操作时直接返回的,而是在执行添加操作之后将新添加记录的主键id字段返回到传入的参数类中.

例如:

<insert id="addUser" parameterType="map" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
        INSERT INTO saishiguanli.users
        (createDate, modifyDate, isEnabled, isLocked, lastLoginDate, lastLoginIp, lockDate, name, encodePassword)
        VALUES
        (#{createDate},#{modifyDate},#{isEnabled},#{isLocked},#{lastLoginDate},#{lastLoginIp},#{lockDate},#{name},#{encodePassword})
    </insert>
调用addUser方法后
int id = Integer.parseInt(hashMap.get("id").toString()); 便可以取得主键ID;

若 传入的是实体类, 那么调用方法后 int id = user.getId(); 即可

发布了372 篇原创文章 · 获赞 89 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/sizaif/article/details/105018148
今日推荐