IT俱乐部 Java mybatis insert 返回自增主键的实现示例

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

需求

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

方式一

映射方式


	INSERT INTO user (
		username, password
	) VALUES (
		#{username}, #{password}
	)
属性 描述
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 的方式


        SELECT LAST_INSERT_ID()
    
    INSERT INTO users (
    	username, password
    ) VALUES (
    	#{username}, #{password}
    )
属性 描述
resultType 结果类型
keyProperty 实体类中属性名
keyColumn 数据库主键字段名
order 这可以被设置为 BEFORE 或 AFTER。如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 然后执行插入语句。如果设置为 AFTER,那么先执行插入语句,然后是 selectKey 元素 – 这和像 Oracle 的数据库相似,在插入语句内部可能有嵌入索引调用。
statementType MyBatis 支持 STATEMENT、PREPARED 和 CALLABLE 语句的映射类型,分别代表 PreparedStatement 和 CallableStatement 类型

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

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/java/12441.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部