MyBatis获取插入数据主键

ibatis获取主键方式

在ibatis时代我们通过 SELECT LAST_INSERT_ID()方式获取主键
DAO接口内方法声明

//返回的值为新插入数据的ID
Long insert(Student student);

Mapper文件配置

<insert id="insert" parameterClass="Student">
        insert into student
          (name, class, grade)
        values
          (#name#, #class#, #grade#);
        <selectKey  keyProperty="id" resultClass="java.lang.Long">
            SELECT LAST_INSERT_ID()
        </selectKey>
    </insert>

使用方法

Student student = new Student("张三","1","3")//初始化student的name,class,grade
Long id = studentDao.insert(student);   //获取插入ID

Mybatis 获取主键方式

DAO接口方法声明

//这里返回值仅仅表示受影响的数据条数,如果插入成功返回1,如果插入失败返回0
int insert(Student student);

Mapper文件配置

<insert id="insert" parameterType="Student">
        insert into student
          (name, class, grade)
        values
          (#{name}, #{class}, #{grade});
</insert>

使用方法

Student student = new Student("张三","1","3")//初始化student的name,class,grade
int count = studentDao.insert(student);   //获取插入ID
if(count == 1){
  Long id = student.getId();  //得到主键
}else{
  System.out.println("插入数据错误");
}

没错,这里插入后会直接返回含有插入ID的student,和ibatis的差别还是有点大的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,734评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • 本文中我们介绍并比较两种最流行的开源持久框架:iBATIS和Hibernate,我们还会讨论到Java Persi...
    大同若鱼阅读 4,361评论 4 27
  • 一. Java基础部分.................................................
    wy_sure阅读 3,853评论 0 11
  • 【每日一谈心】:QQ说:妈妈,谈心时间到了,今天我很开心,我今天没哭我明天还要去幼儿园。 是吗?妈妈看到你哭了,不...
    674e09b5464a阅读 258评论 0 0