为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:
【CPU】:
【问题描述】*:使用mybaties批量插入,实体类没有返回id信息,
在不改数据库配置的情况下,有没有什么解决方案
sql如下
实体类中未返回id
方法1.xml文件通过useGeneratedKeys,keyColumn,keyProperty返回UID
insert into users2(uname,uage) values (#{uname},#{uage})
方法2:xml文件通过嵌套子查询,插入是进行查询UID
select ident_current('SYSDBA.USERS')
insert into users(uname,uage) values (#{uname},#{uage})
方法3:mapper层通过Options注解进行返回
@Insert("insert into users(uname,uage) values (#{uname}, #{uage})")
@Options(useGeneratedKeys = true, keyProperty = "uid")
void insertUser3(User user);
方法4:mapper层通过SelectKey注解执行查询语句进行返回
@Insert("insert into users(uname,uage) values (#{uname}, #{uage})")
@SelectKey(statement = " select ident_current('SYSDBA.USERS')", keyProperty = "uid", before = false, resultType = int.class)
void insertUser4(User user);
这二个是方法一和方法二例子,因为markdown格式带<>会被识别成html,因此附图
//批量插入,返回主键
void batchInsert1(@Param("list") List
@Insert("")
@Options(useGeneratedKeys = true, keyProperty = "uid")
void batchInsert2(@Param("list") List
测试结果,可以返回主键
请帮忙确认如下信息:
1:您的数据库版本:select id_code
2:您可以参考https://eco.dameng.com/docs/zh-cn/app-dev/java-MyBatis-frame.html