mybatis insert主键返回值是1,怎么回事

如题所述

那个返回值1并不是主键,而是插入数据库的记录的条数。主键是自动赋值在对象中的。
比如对象User,属性id为主键,name,age
User user = new User();
user.setName("test");
user.setAge(16);
调用mybatis的insert(user);返回值是1,该条记录的主键通过user.getId();即可获取。
温馨提示:内容为网友见解,仅供参考
无其他回答

mybatis insert主键返回值是1,怎么回事
那个返回值1并不是主键,而是插入数据库的记录的条数。主键是自动赋值在对象中的。比如对象User,属性id为主键,name,age User user = new User();user.setName("test");user.setAge(16);调用mybatis的insert(user);返回值是1,该条记录的主键通过user.getId();即可获取。

MyBatis中insert返回主键(ID)
此时返回的结果仍然是受影响行数,而非直接的主键ID。对于支持自增ID的数据库,如MySQL和SQL Server,实现方式与Oracle类似,只需确保配置了正确的keyProperty属性即可。数据库在执行insert操作时会自动为新记录生成并赋值ID,MyBatis同样会在执行后自动将此ID值填充到对应的实体对象中。因此,无论使用哪种...

mybatis自动生成的insert语句有什么区别
主键是自动赋值在对象中的。比如对象User,属性id为主键,name,age User user = new User();user.setName("test");user.setAge(16);调用mybatis的insert(user);返回值是1,该条记录的主键通过user.getId();即可获龋

解析Mybaits的insert方法返回数字2147482646的原因
解析MyBatis的insert方法返回数字2147482646的原因,主要在于执行器的配置。在配置文件中,如果将executorType设置为BATCH,更新和插入操作的返回值会丢失。这是由于BATCH执行器在MyBatis中的设计特性所导致。当配置为BATCH时,MyBatis会使用BatchExecutor进行操作,这个执行器会固定返回固定的数字,而不是实际影响...

深入分析Mybatis 使用useGeneratedKeys获取自增主键
使用on duplicate key update时,返回值的含义如下:当新行被插入时,返回值为1;当现有行被更新时,返回值为2;而当现有行被设置为当前值时,返回值为0或1,具体取决于客户端配置。在使用mybatis获取自增主键时,我们应对此有充分理解,避免在判断返回值时犯错。在利用批量InsertOrUpdate功能的同时...

mybatis insert返回值是什么
你好,很高兴回答你的问题。insert返回的是int类型,表示受影响行数。如果有帮助到你,请点击采纳。

mybatis 做 insert操作的时候 怎么才能返回插入的那条数据的id_百度知...
无法直接通过insert操作返回,insert只能返回操作成功的数据条数,一般为0,1等。如果想要知道插入的数据的id,一般做法是提前知道了那条数据对于的编号,或者名称等可能可以作为唯一判断的条件,或者组合条件,在插入完成后再通过这些条件去查询数据库获取到这条数据,从而获取id等数据 ...

为什么mybatis insert mysql返回主键无效
假如你使用一条INSERT语句插入多个行, LAST_INSERT_ID() 只返回插入的第一行数据时产生的值。其原因是这使依靠其它服务器复制同样的 INSERT语句变得简单。

mybatis 做 insert操作的时候 怎么才能返回插入的那条数据的id_百度知...
直接在插入语句后面,写上select的语句就可以了埃这个对象的主键是自动生成吗。如果是mysql里,是select max(id);否则,可以根据刚刚插入的标识字段进行查询。

mysql的执行insert是否有返回值
5、测试先清空表的数据,然后插入一条数据 insert into test set name='zxh001';查看效果,默认从0开始 select * from test;。6、最后再向表插入一条insert into test set name='zxh002';,设置当前值自增select nextval('zxh002');查看效果,结果自增字段应该从0变成1。

相似回答