获取mybaties插入记录自动增长的主键值

  首先在Mybatis Mapper文件中insert语句中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是保存主键值的属性。

  例如:

    <insert id="save" parameterType=“Survery" useGeneratedKeys="true" keyProperty="pkId">
      insert into edu_survery ( is_valid) values (0)
    </insert>

  session.insert("SurveryMapper.save",record);

  当使用该语句插入数据时,便会将自动增长的主键值存储进pkId中。

 

   随后便可通过record.getPkId() 获取到插入的数据的主键值

原文地址:https://www.cnblogs.com/fanwenhao/p/8484481.html

时间: 2024-08-06 23:12:06

获取mybaties插入记录自动增长的主键值的相关文章

得到数据库自动生成的主键值

package com.atguigu.jdbc; import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.Statement; import org.junit.Test; public class JDBCTest { /** * 得到

MyBatis:获取插入记录的自增主键

我们知道MySql中主键可以设成auto_increment,也就是自增主键,每当新增一条记录,主键值自动加1. 在MyBatis中,执行insert,返回值为受影响的语句行数,此操作跟JDBC一致. 但是如果应用中需要将插入的值的主键返回时,这时有两种方式: 第一种方式:在mapper的insert节点中添加useGeneratedKey和keyProperty属性 第二种方式:在mapper的insert节点下添加selectKey子节点的方式 下面是具体的使用方式举例: 一.MySql中m

JDBC学习笔记(6)——获取自动生成的主键值&amp;处理Blob&amp;数据库事务处理

获取数据库自动生成的主键 [孤立的技术是没有价值的],我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. 具体的代码实现: 1 /** 2 * 获取数据库自动生成的主键 3 */ 4 @Test 5 public void testGetKeyValues(){ 6 Connection connection=null; 7 PreparedStatement preparedStatement=null; 8 ResultSet rs=n

javaWeb_JDBC_JDBC获取数据库自动生成的主键值

JDBC_JDBC获取数据库自动生成主键值 1.意义: 在操作比较复杂的数据库表以及相关信息的时候,我们需要获取一条记录中的主键值,以便于别的业务逻辑操作该条记录,那么这一个时候 如果是数据库自己生成主键值,那么我们就有必要获取这一个主键值. 2.实现: 使用重载的 prepareStatement(sql, flag)来生成 PreparedStatement 对象,并调用ResultSet rs = preparedStatement.getGeneratedKeys(); 在 Result

jdbc连接mysql数据库执行insert语句后获取自增长的主键值

package cn.baokx; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import cn.baokx.db.DatabaseConnection0; public class Test1 { public static void main(

mysql获取自动生成的主键报错:Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.execu

今天项目中需要获取刚插入的自动增长 的主键值: pstmt=conn.prepareStatement(sql); ... rs=pstmt.getGeneratedKeys(); 谁知道报错:Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.execu 上网查了之后才知道原来是5.1.5的包,替换成5.1.17之后,如下生成主键的代码都会报错: Gener

mybatis获取当前插入记录的id

问题:mybatis会自动生成一个insert方法如(用的是MySQL数据库): <insert id="insert" parameterType="cn.hnne.iclt.model.Task" >     <selectKey resultType="java.lang.Integer" keyProperty="ictl_otaid" order="BEFORE" >   

利用GeneratedKeyHolder获得新增数据主键值

Spring利用GeneratedKeyHolder,提供了一个可以返回新增记录所对应的主键值的方法: int update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder) Spring为KeyHolder接口指代了一个通用的实现类GeneratedKeyHolder,该类返回新增记录时的自增长主键值.假设我们希望在新增论坛板块对象后,希望将主键值加载到对象中,则可以按以下代码进行调整: 1 public Role crea

JDBC:元数据 &amp;&amp; 获取插入记录的主键值 &amp;&amp; _JDBC_处理 Blob

一.元数据 DatabaseMetaData类 DatabaseMetaData 类中提供了许多方法用于获得数据源的各种信息,通过这些方法可以非常详细的了解数据库的信息: getURL():返回一个String类对象,代表数据库的URL. getUserName():返回连接当前数据库管理系统的用户名. isReadOnly():返回一个boolean值,指示数据库是否只允许读操作. getDatabaseProductName():返回数据库的产品名称. getDatabaseProductV