Mybatis generator 自动生成代码时 ,insert如何返回主键值

mvn mybatis-generator:generate


如果要让generator自动添加该功能,可以如下配置:



                       enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
           
           

       


或者手动增加:

keyProperty="id"
     keyColumn="ID" useGeneratedKeys="true"
>


主键值有  对象.getId()获得

方法只返回成功影响的行数:1


在insert里面加入selectKey标签就可以了. 一般都是返回的int类型.对应数据库是自增长字段.

要注意的是: ibatis会直接返回int值. Mybatis则把int值包装在参数对象里面.

public int insert(User user) {

//ibatis方式.

int result = UserMapper.insert(user);

return result;

//Mybatis方式

user = UserMapper.insert(user);

return user.getId();

}

还要注意的是数据库类型不一样,生成ID的策略也不一样. 可以对selectKey添加属性(名字忘记了), pre---先生成ID. post---后生成ID. default是post.


另一种返回主键值得方法:


   
      SELECT LAST_INSERT_ID()
   

    insert into XXXX

最终结果是 mapper方法返回值为主键ID,同时对象ID值也为主键ID

你可能感兴趣的:(Mybatis generator 自动生成代码时 ,insert如何返回主键值)