当前使用版本(必填,否则不予处理)

3.5.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

使用Mybatis-plus的save() 往SQL Server中插入一行数据会报:nested exception is com.microsoft.sqlserver.jdbc.SQLServerException:必须执行该语句才能获得结果。经调查发现,如果该表存在触发器则会报错。

重现步骤(如果有就写完整)

1、创建一个表User(id bigint,name varchar(50)); // Id主键自增,详细语句这里忽略

1.1、为User表创建一个触发器,触发器内容任意。

2、创建一个User类:并为对应字段添加对应注解:

@TableIdName("User") public class User implements Serializable ......

@TableId(value = "id",type = IdType.AUTO) private Long id;

@TableField("name") private String name;

省略 get、set......

3、业务层调用添加接口

@Resource private UserService userService;

public void test(){ User user =new User(); user.setName("Ada"); userService.save(user); }

4、调用业务方法

调用步骤3的test()

报错信息

Error getting generated key or setting result to parameter object.Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。;nested exception is com.microsoft.sqlserver.jdbc.SQLServerException:必须执行该语句才能获得结果

Comment From: qmdx

检查 ID 是否设置为自增,数据类型是否正确

Comment From: qmdx

未反馈

Comment From: IvesQing

这个问题有处理嘛,同样必现遇见

Comment From: 777sfdf

你好 请问这个问题是怎末解决的呢 是在对应的service方法出加上try/catch 进行捕获异常 还是对其又手写xml文件了呢