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

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

<!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名;不需要生成Example类 -->
        <table schema="" tableName="ACT_SecurityBlockLog" domainObjectName="BlockLog"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
            <property name="useActualColumnNames" value="true"/>
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>

        </table>


或者手动增加:

<insert id="insert" parameterType="Activity" 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.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值