当前使用版本(必填,否则不予处理)
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文件了呢