在MyBatis中,当执行插入操作后返回主键ID,可以通过在mapper.xml文件中配置insert语句,并设置useGeneratedKeys和keyProperty属性来实现。以下是一个详细的步骤说明: 1. 在MyBatis的mapper.xml中配置insert语句 首先,在你的MyBatis mapper XML文件中定义一个insert语句。这个语句用于将数据插入到数据库表中。 xml <mapp...
在 MyBatis 中,我们可以使用 UUID 生成主键,并将其赋值给对象的 id 属性。在配置文件中,我们可以在 insert 元素中使用 selectKey 元素来生成主键:<insert id="insertUser" parameterType="User"> <selectKey resultType="java.lang.String" keyProperty="id" order="BEFORE"> SELECT UUID() </select...
修改StudentDao.xml 中的 insert 标签,在 insert 标签中编写 selectKey 标签 <insertid="insertStudent"parameterType="Student">insert into student(name, age) VALUES (#{name} , #{age})<selectKeykeyProperty="sid"order="AFTER"resultType="int">SELECT LAST_INSERT_ID()</selectKey></insert> 说明: 1、...
insert into TStudent(id, name, age) values(#{id}, #{name}, #{age}) </insert 注意:mapper接口返回值依然是成功插入的记录数,但不同的是主键值已经赋值到领域模型实体的id中了。 五、selectKey子元素 详解 作用:在insert元素和update元素中插入查询语句。 其属性如下: keyProperty ,默认值unset,用于设置g...
需要注意的是,在MyBatis中添加操作返回的是记录数并非记录主键id。因此,如果需要获取新添加记录的主键值,需要在执行添加操作之后,直接读取Java对象的主键属性。 代码语言:javascript 复制 Integer rows=sqlSession.getMapper(StuMapper.class).insertOneTest(student);System.out.println("rows = "+rows);// 添加操作返...
👨💻面试官:你说Mybatis执行插入语句后可以返回主键ID吗??如果能的话,能否实现一下。 🙋我:当然是可以的,连JDBC都能做到的事情,Mybatis也能做到的。 开始敲代码… 1.1、Mysql数据库设置ID自增情况 代码语言:javascript 复制 <insert id="insertUser"parameterType="com.crush.mybatisplus.entity.User...
说明:1、< insert> 标签中没有 resultType 属性,但是 < selectKey> 标签是有的。2、order=“AFTER” 表示先执行插入语句,之后再执行查询语句。3、keyProperty=“id” 表示将自增长后的 Id 赋值给实体类中的 id 字段。4、SELECT LAST_INSERT_ID() 表示 MySQL 语法中查询出刚刚插入的记录自增长 Id。最终结果...
需要注意的是,在MyBatis中添加操作返回的是记录数并非记录主键id。因此,如果需要获取新添加记录的主键值,需要在执行添加操作之后,直接读取Java对象的主键属性。 Integer rows = sqlSession.getMapper(TestMapper.class).insertOneTest(test); System.out.println("rows = " + rows); // 添加操作返回记录数 ...