当前位置: 代码网 > it编程>编程语言>Java > mybatis insert 返回自增主键的实现示例

mybatis insert 返回自增主键的实现示例

2024年07月02日 Java 我要评论
需求mybatis 在新增之后怎么也获取不到自增主键,通过不段的摸索原来是姿势不对,记录一下希望能帮助下一位采坑的同学方式一映射方式<-- xml 映射的方式 --><insert

需求

mybatis 在新增之后怎么也获取不到自增主键,通过不段的摸索原来是姿势不对,记录一下希望能帮助下一位采坑的同学

方式一

映射方式

<-- xml 映射的方式 -->
<insert id="insert" parametertype="com.kebi.user" usegeneratedkeys="true" keyproperty="id" keycolumn="id">
	insert into user (
		username, password
	) values (
		#{username}, #{password}
	)
</insert>
属性描述
usegeneratedkeys为 true 则返回主键的值
keyproperty实体类中属性名
keycolumn数据库主键字段名 如果和实体属性名一样可以不用写
private usertmapper usermapper;

user user = new user();
user.setusername("name");
user.setpassword("123")

usermapper.insert(user);

system.out.println("获取自增主键:"+ user.getid());

方式二

selectkey 的方式

<-- xml 映射的方式 -->
<insert id="insert" parametertype="com.kebi.user">
    <selectkey resulttype="int" order="after" keyproperty="id" keycolumn="id">
        select last_insert_id()
    </selectkey>
    insert into users (
    	username, password
    ) values (
    	#{username}, #{password}
    )
</insert>
属性描述
resulttype结果类型
keyproperty实体类中属性名
keycolumn数据库主键字段名
order这可以被设置为 before 或 after。如果设置为 before,那么它会首先选择主键,设置 keyproperty 然后执行插入语句。如果设置为 after,那么先执行插入语句,然后是 selectkey 元素 - 这和像 oracle 的数据库相似,在插入语句内部可能有嵌入索引调用。
statementtypemybatis 支持 statement、prepared 和 callable 语句的映射类型,分别代表 preparedstatement 和 callablestatement 类型

到此这篇关于mybatis insert 返回自增主键的实现示例的文章就介绍到这了,更多相关mybatis insert 返回自增主键内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com