Mybatis获取插入记录的自增长ID

在Mybatis mapper.xml文件中,在插入方法的头部添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名

<insert id="insert" parameterType="com.sale"     
        useGeneratedKeys="true" keyProperty="id">    
        insert into sale(name) values(#{name})    
</insert>

Mybatis执行完插入语句后,自动将自增长值赋值给对象sale的属性id。因此,可通过sale对应的getter方法获取.

int count = saleService.insert(sale);    
        
int id = sale.getId(); //获取到的即为新插入记录的ID

 

【注意事项】

1.Mybatis Mapper 文件中,“useGeneratedKeys”和“keyProperty”必须添加,而且keyProperty一定得和java对象的属性名称一直,而不是表格的字段名

2.java Dao中的Insert方法,传递的参数必须为java对象,也就是Bean,而不能是某个参数。