mybatis @SelectKey @Options 无法返回自己增长的id,一直返回1
使用mybatis做简单查询,直接通过接口方法的注解的形式编写mybatis的mysql语句,但是现在需要能返回自增长的id,但是如下代码一直无法返回自增长的id。Sel...
使用mybatis做简单查询,直接通过接口方法的注解的形式编写mybatis的mysql语句,但是现在需要能返回自增长的id,但是如下代码一直无法返回自增长的id。SelectKey语句确实有获取到自增长的id,因为我的id比较长,我用resultType = short.class 会报错,说short 不够大,然后报错信息打印出来的id确实是我要返回的id,但是他没有通过函数的返回值给我,只是返回了一个1,跪求大神指点
@Insert("insert into sys_city( name , parent_id , short_name , level_type , city_code ,
post_code , merger_name , lng , lat , spell , state , create_time , update_time ,
is_delete ) values (#{obj.name}, #{obj.parentId}, #{obj.shortName}, #
{obj.levelType}, #{obj.cityCode}, #{obj.postCode}, #{obj.mergerName}, #
{obj.lng}, #{obj.lat}, #{obj.spell}, #{obj.state}, #{obj.createTime}, #
{obj.updateTime}, #{obj.isDelete} ) ") @SelectKey(before=false,keyProperty="obj.id",statementType=StatementType.STATE
MENT,statement="SELECT LAST_INSERT_ID() AS id", resultType =
short.class)
@Options(useGeneratedKeys = true,keyColumn="obj.id")
public int saveForId(@Param("obj")SysCity obj); 展开
@Insert("insert into sys_city( name , parent_id , short_name , level_type , city_code ,
post_code , merger_name , lng , lat , spell , state , create_time , update_time ,
is_delete ) values (#{obj.name}, #{obj.parentId}, #{obj.shortName}, #
{obj.levelType}, #{obj.cityCode}, #{obj.postCode}, #{obj.mergerName}, #
{obj.lng}, #{obj.lat}, #{obj.spell}, #{obj.state}, #{obj.createTime}, #
{obj.updateTime}, #{obj.isDelete} ) ") @SelectKey(before=false,keyProperty="obj.id",statementType=StatementType.STATE
MENT,statement="SELECT LAST_INSERT_ID() AS id", resultType =
short.class)
@Options(useGeneratedKeys = true,keyColumn="obj.id")
public int saveForId(@Param("obj")SysCity obj); 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询