mysql使用触发器生成主键,在mybatis中使用@option注解不返回ID

CREATE TRIGGER Test_Demigod BEFORE INSERT
ON INSTANCE FOR EACH ROW
BEGIN
SET NEW.ID =(SELECT UUID());
END

使用mybatis注解式新增并写上@option注解
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
int addInstance(Instance instance);

执行成功后instance中的id还是为空!
(别问为什么要使用触发器生成uuid主键,实际主键是一组有规律的字符串,这里使用uuid当实例)

根据你提供的信息,主键使用触发器生成,并不是自动增长的方式,因此使用@option注解可能无法生效。可以尝试使用其他方式来获取触发器生成的主键值。例如,在执行插入操作后,可以立即查询数据库获取刚刚插入的记录的id值,然后将其设置到对应的实例对象中。这样就可以确保获取到正确的id值,而不是依赖@option注解。希望对你有所帮助!