返回顶部
首页 > 资讯 > 数据库 >MyBatis主键返回
  • 669
分享到

MyBatis主键返回

mybatisjavamysql 2023-09-06 15:09:07 669人浏览 薄情痞子
摘要

这篇文章介绍了mybatis的主键返回方法 一.需求分析 当我们表的主键设置为自增,且插入数据后需要主键id时,就要使用主键返回的方法,来获取当前插入数据的主键。 表如下: 二.主键返回 1.使用

这篇文章介绍了mybatis的主键返回方法


一.需求分析

当我们表的主键设置为自增,且插入数据后需要主键id时,就要使用主键返回的方法,来获取当前插入数据的主键。
表如下:
在这里插入图片描述

二.主键返回

1.使用selecTKEy 标签

< selectKey >标签,keyProperty:设置为目标属性,resultType:设置返回值类型,order:值为after,before
after: sql之后执行,before: sql之前执行

示例:
StudentMapper接口

public interface StudentMapper {    int insert(Student student);}

StudentMapper.xml代码

    <insert id="insert" parameterType="com.hem.pojo.Student">        <selectKey keyProperty="id" resultType="int" order="AFTER">            select last_insert_id()        </selectKey>        insert into student (name,email,age)        values (#{name},#{email},#{age});    </insert>

test代码:

    @Test    public void testInsert() throws ioException {        //使用文件流读取核心配置文件SqlMapConfig.xml        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");        //创建SqlSessionFactory工厂        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);        //取出sqlSession对象        SqlSession sqlSession = factory.openSession();        //完成查询操作        StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);        Student student = new Student("小白","12321",99);        int num = studentMapper.insert(student);        System.out.println(student.getId());        sqlSession.commit();        //关闭sqlSession        sqlSession.close();    }

测试结果:
在这里插入图片描述

2. 设置< insert >便签的属性

设置 useGeneratedKeys=”true”,然后再把 keyProperty 设置为目标属性就 OK 了

示例:
StudentMapper接口

public interface StudentMapper {    int insert(Student student);}

StudentMapper.xml代码:

<insert id="insert" parameterType="com.hem.pojo.Student" useGeneratedKeys="true" keyProperty="id">        insert into student (name,email,age)        values (#{name},#{email},#{age});    </insert>

test代码:

    @Test    public void testInsert() throws IOException {        //使用文件流读取核心配置文件SqlMapConfig.xml        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");        //创建SqlSessionFactory工厂        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);        //取出sqlSession对象        SqlSession sqlSession = factory.openSession();        //完成查询操作        StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);        Student student = new Student("小白","12321",99);        int num = studentMapper.insert(student);        System.out.println(student.getId());        sqlSession.commit();        //关闭sqlSession        sqlSession.close();    }

测试结果:
在这里插入图片描述

在这里插入图片描述

202210161704日

来源地址:https://blog.csdn.net/qq_53843555/article/details/127347086

您可能感兴趣的文档:

--结束END--

本文标题: MyBatis主键返回

本文链接: https://lsjlt.com/news/397220.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MyBatis主键返回
    这篇文章介绍了MyBatis的主键返回方法 一.需求分析 当我们表的主键设置为自增,且插入数据后需要主键id时,就要使用主键返回的方法,来获取当前插入数据的主键。 表如下: 二.主键返回 1.使用...
    99+
    2023-09-06
    mybatis java mysql
  • mybatis怎么返回自增主键
    MyBatis可以通过设置useGeneratedKeys属性来返回自增主键。具体步骤如下:1. 在Mapper的insert语句中...
    99+
    2023-08-24
    mybatis
  • MyBatis insert实体如何返回主键
    目录insert实体如何返回主键一、insert 属性详解二、Mapper接口三、执行mapper.xml 返回主键四、测试结果六、批量插入七、小结一下Mybatis添加记录,返回主...
    99+
    2024-04-02
  • Mybatis-plus的Insert操作,返回主键问题
    >关于Mybatis-plus的Insert操作,返回主键问题 Mybatis-plus默认存储完数据后,自动向传进来的实体类塞入主键ID.所以理论上无需做多余的配置. 如果是mybatis就需要在xml文件中做配置 使用selectkey...
    99+
    2023-09-15
    mybatis java mysql
  • MyBatis如何使用selectKey返回主键的值
    目录使用selectKey返回主键的值对于MySQL数据库通过selectkey返回insert或update后的值@selectKey使用方案1方案2使用selectKey返回主键...
    99+
    2024-04-02
  • mybatis在oracle插入对象后返回主键值
    在mybatis中默认插入一条记录后,返回值为插入记录的条数。现在想获取插入记录后,当前被插入的记录的主键值,需在insert方法中添加如下代码:<insert id="insert" paramet...
    99+
    2024-04-02
  • Mybatis如何批量插入并返回主键id
    这篇文章主要介绍“Mybatis如何批量插入并返回主键id”,在日常操作中,相信很多人在Mybatis如何批量插入并返回主键id问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis如何批量插入并返回主...
    99+
    2023-06-29
  • mybatis中返回主键一直为1的问题
    目录mybatis 返回主键一直为1mybatis 自增主键 主键回传,返回id为null 踩坑 Mybatis主键回传流程踩坑总结mybatis 返回主键一直为1 1是返...
    99+
    2023-03-06
    mybatis返回主键 mybatis主键 mybatis返回主键为1
  • MyBatis新增数据并返回主键值方式
    目录MyBatis新增数据并返回主键值MyBatis新增更新返回主键总结MyBatis新增数据并返回主键值 虽然这个功能比较简单,网上帖子也很多,但是有一个地方有点坑,这里做一个对比...
    99+
    2023-03-06
    MyBatis新增数据 新增数据 返回主键值
  • MyBatis怎么新增数据并返回主键值
    本篇内容主要讲解“MyBatis怎么新增数据并返回主键值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MyBatis怎么新增数据并返回主键值”吧!MyBatis新增数据并返回主键值虽然这个功能比...
    99+
    2023-07-05
  • MyBatis insert语句返回主键和selectKey标签方式
    目录insert语句返回主键和selectKey标签1.主键自增的情况2.Oracle中用Sequence获取主键MyBatis insert语句key的生成和返回1.使用...
    99+
    2024-04-02
  • Mybatis批量插入并返回主键id的方法
    目录场景错误分析原因排查问题场景 在做商城的时候,sku表进行了拆分,sku的基本信息以及sku的库存表。因为库存会经常的变动,会导致行锁。 这里就是新增的时候,因为在新增商品的时候...
    99+
    2024-04-02
  • mybatis怎么实现批量插入并返回主键
    本篇内容主要讲解“mybatis怎么实现批量插入并返回主键”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis怎么实现批量插入并返回主键”吧!mybatis批量插入并返回主键(xml和注...
    99+
    2023-06-21
  • mybatis中Insert语句如何返回插入的主键
    方法一: mapper.java Integer insertDep(Department department); xml select LAST_INSERT_ID() ...
    99+
    2023-10-05
    mybatis java mysql
  • mybatis插入后返回主键id的三种方式
    第一种:在xml文件,insert标签属性中,添加useGeneratedKeys和keyProperty,如图   第二种:在xml文件,添加selectKey标签属性,各个属性值含义:resultType:查询结果的类型;keyProp...
    99+
    2023-08-31
    mysql 数据库
  • Mybatis插入时返回自增主键方式(selectKey和useGeneratedKeys)
    目录Mybatis插入时返回自增主键Mybatis批量插入返回自增主键解决办法Mybatis插入时返回自增主键 通过selectKey在插入操作前或者操作后获取key值,做...
    99+
    2024-04-02
  • myBatis如何在插入时返回自增的主键id
    这篇文章主要介绍了myBatis如何在插入时返回自增的主键id,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。插入时返回自增的主键id<...
    99+
    2024-04-02
  • 利用Mybatis如何实现返回插入的主键id
    利用Mybatis如何实现返回插入的主键id?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在mapper的xml文件中配置  useGeneratedKeys以及 k...
    99+
    2023-05-31
    mybatis 主键id
  • Mybatis---mybatis插入数据后返回自增主键ID的两种方式
    概要 开发过程中我们经常性的会用到许多的中间表,mybatis插入数据后返回自增主键的两种方式, 用于数据之间的对应和关联,这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中,我们数值的mybatis在插入数据后返回...
    99+
    2023-09-25
    mybatis
  • sql语句返回主键SCOPE_IDENTITY()
    在SQL中,SCOPE_IDENTITY()是一个用于返回最后插入行的主键值的函数。它返回由当前会话(作用域)生成的自增主键值。可以...
    99+
    2023-08-11
    SQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作