mybatis插入数据并返回该条数据的ID值

其xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="user">
    <!--插入并返回ID-->
    <insert id="insertUser2" parameterType="com.gyf.model.User">
        <selectKey keyProperty="id" resultType="int" order="AFTER">
            select LAST_INSERT_ID()
        </selectKey>
        insert into user (username, sex, birthday, address) value (#{username}, #{sex}, #{birthday}, #{address})
    </insert>
</mapper>

其测试代码

    @Test
    public void test5() throws IOException {
        User user = new User("lb","1",new Date(),"兰州");
        int row = session.insert("insertUser2", user);
        session.commit();
        System.out.println("userID:"+user.getId());
    }
    [selectKey标签]:通过select 查询来生成主键
	[keyProperty]:指定存放生成主键的属性
	[resultType]:生成主键所对应的Java类型
	[order]:指定该查询主键SQL语句的执行顺序,相对于insert语句
	[last_ insert_ id]: MySQL的函数,要配合insert语句- -起使用- - >

对于非自动生成的ID,也就是自己设置的,以UUID为例:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值