mvn mybatis-generator:generate
如果要让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.
另一种返回主键值得方法:
<insert id="insertSelective" parameterType="xxxx" >
<selectKey resultType="java.lang.Integer" keyProperty="ID" order="AFTER" >
SELECT LAST_INSERT_ID()
</selectKey>
insert into XXXX
最终结果是 mapper方法返回值为主键ID,同时对象ID值也为主键ID
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow
本文详细介绍了如何使用MyBatis Generator自动生成代码,包括配置表映射、禁用某些功能以及如何正确返回插入操作的主键值。讨论了不同数据库类型的ID生成策略,并提供了代码示例。
1262

被折叠的 条评论
为什么被折叠?



