VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • mybatis insert 返回自增主键的实现示例

mybatis 在新增之后怎么也获取不到自增主键,本文主要介绍了mybatis 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 的数据库相似,在插入语句内部可能有嵌入索引调用。
statementType MyBatis 支持 STATEMENT、PREPARED 和 CALLABLE 语句的映射类型,分别代表 PreparedStatement 和 CallableStatement 类型
到此这篇关于mybatis insert 返回自增主键的实现示例的文章就介绍到这了,更多相关mybatis insert 返回自增主键内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持  

原文链接:https://blog.csdn.net/qq_37924396/article/details/124931670


相关教程