当前使用版本(必填,否则不予处理)
3.4.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
使用@Update注解,无法获取sqlserver merge into之后的id
重现步骤(如果有就写完整)
sql如下:
@Update("<script>" +
"MERGE INTO Student_Info t " +
"USING ( " +
"VALUES ( " +
" #{info.otherkey}, " +
" #{key1}, #{key2} " +
" )) " +
"AS s ( " +
" otherkey, " +
" key1, key2" +
" ) " +
"ON ( t.key1= s.key1AND t.key2= s.key2) " +
"WHEN matched THEN " +
"UPDATE " +
" SET " +
" t.otherkey = s.otherkey, </if>" +
" t.key1= s.key1" +
"WHEN NOT matched THEN " +
" INSERT ( " +
" otherkey , " +
" key1, key2" +
" ) " +
" VALUES " +
" ( " +
" s.otherkey" +
" s.key1, s.key2" +
" );" +
"</script>")
@Options(useGeneratedKeys = true, keyProperty = "info.id")
int mergeInfo(@Param("key1") String key1, @Param("key2") String key2,
@Param("info") Student info);
报错信息
没有报错,就是执行这个sql之后,Student info的id无法自动填充
Comment From: miemieYaho
你只用mybatis能填充吗?
Comment From: IneverStop
@miemieYaho 如果是insert语句的话可以填充
Comment From: miemieYaho
我指的你上面那个sql
Comment From: IneverStop
我指的你上面那个sql
我不知道我上面这个sql能不能填充,所以想问一下是mybatis不支持mergeInto语句填充id,还是我需要做什么额外的配置
Comment From: miemieYaho
mp只负责注入sql,其他的都是mybatis的事