在MyBatis-Plus中,执行insert操作后通常不会直接返回一个id值,而是通过映射机制将数据库生成的自增主键值填充到插入操作传入的实体对象的对应属性中。下面是关于MyBatis-Plus中insert操作后返回值和如何获取id的详细解答: 1. 解释MyBatis-Plus中insert操作后的返回值 MyBatis-Plus的insert方法通常返回一个整数(int),...
会不会是因为dao对应的mapper.xml文件,里面的id = inesert的sql语句依然存在,从而覆盖掉了mybatis plus的通用insert,所以没有自动返回主键。 点进去对应mapper.xml文件,果然看到<insert id="insert">的sql语句。删掉该语句,重试mybatis plus的insert方法,这次有主键返回了。
若在insert中写selectKey,倒是可以返回id,但原本项目大量使用mybatis-plus自带的insert方法,故不大合适。 <selectKey resultType="long" keyProperty="id" order="AFTER"> select @@identity </selectKey> 麻烦技术人员帮忙看下是否有解决方案,谢谢了 附录: 8.1.3.62insert未返回id 8.1.1.193insert有返回id 8.1.1.19...
在 insert 元素结束后,我们可以使用 SELECT LAST_INSERT_ID() 函数获取插入记录的主键 ID:<insert id="insertUser" parameterType="User" useGeneratedKeys="false"> insert into user (name, age) values (#{name}, #{age}) <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER">...
1.1、Mysql数据库设置ID自增情况 <insert id="insertUser" parameterType="com.crush.mybatisplus.entity.User">INSERT INTO tb_user (username,password) VALUES(#{username},#{password});<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">SELECT LAST_INSERT_ID()</selectKey></insert...
mybatis-plus:mapper-locations:classpath*:mapperxml/*Mapper.xml AI代码助手复制代码 直接先看mapper.xml文件,这个insert语句实际上就是插入MouldMessage这个我定义的实体类。 <mapper namespace="com.hwz.MessageMouldMapper"><insertid="testInsert" useGeneratedKeys="true" keyProperty="id">INSERTINTOt_XXXX ...
说明:1、< insert> 标签中没有 resultType 属性,但是 < selectKey> 标签是有的。2、order=“AFTER” 表示先执行插入语句,之后再执行查询语句。3、keyProperty=“id” 表示将自增长后的 Id 赋值给实体类中的 id 字段。4、SELECT LAST_INSERT_ID() 表示 MySQL 语法中查询出刚刚插入的记录自增长 Id。最终结果...
默认情况下按照官方文档的快速开始可以快速集成MybatisPlus。 虽然MB+提供了一些注解,正常情况下除了需要创建一个Mapper继承BaseMapper,其他的不需要配置。 如果我们使用了数据库自增主键并且希望insert方法都返回主键ID,需要配置一下实体类的主键 publicclassWeb_user{@TableId(type=IdType.AUTO)privatelong user_id;priv...
Useruser=newUser();user.setName("李小白");user.setDynasty("明朝");UserMapper.insert(user); 重现步骤(如果有就写完整) 报错信息 没有报错,参考了issues里边,都是说可以直接返回id,可是我的没有返回主键ID Author moudaycommentedDec 7, 2020