初学JDBC,获取插入记录的主键、执行批量操作

一、获取插入记录主键值

在创建语句的地方使用Statement.RETURN_GENERATED_KEYS标识一下,然后通过getGeneratedKeys方法获得

preparedStatement=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);

preparedStatement.excuteUpdate();

resultSet=preparedStatement.getGeneratedKeys();//主键有可能有多个

if(resultSet.next()){

return resultSet.getInt(1);

}

二、执行批量操作

String sql="insert into user(name,birthday,money) values(?,?,?)";

preparedStatement=conn.prepareStatement(sql);

for(int i=0;i<1000;i++){

preparedStatement.setString(1,"batchName"+i);

preparedStatement.setDate(2,new Date(System.currentTimeMillis()));

preparedStatement.setFloat(3,100f+i);

preparedStatement.addBatch();//(打包)加入批量操作标识中,后期统一执行;注意并不是数据打在一个包里,越多越好

}

int[] intArray=preparedStatement.excuteBatch();

三、ResultSet结果集滚动

Statement statement=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

resultSet.next()下一条;result.previous()前一条;result.absolute(5)定位到第五条

时间: 2024-12-08 17:58:05

初学JDBC,获取插入记录的主键、执行批量操作的相关文章

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

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

MyBatis 插入时返回刚插入记录的主键值

MyBatis 插入时返回刚插入记录的主键值 一.要求: 1.数据库表中的主键是自增长的,如:id: 2.获取刚刚插入的记录的id值: 二.源代码: 1.User.java 1 package cn.com.zfc.model; 2 3 public class User { 4 5 private Integer id; 6 private String name; 7 private String password; 8 9 public Integer getId() { 10 retur

MyBatis+MySQL 返回插入记录的主键ID

今天用到了多个表之间的关系,另一个表中的一个字段要以第一个表的主键作为外键. 下面说两种方法,MyBatis+MySQL 返回插入记录的主键ID: 第一种: <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> insert into us

MyBatis返回插入记录的主键

如果想插入一条记录之后,立刻对其进行其他操作,这时候就需要获取记录的主键(通常是ID),MyBatis有以下方式处理. Dao层的接口定义如下: void importUser(@Param( "user" ) User user); 注意:这里不能因为要返回主键而定义接口的返回值类型为String或者int,会报错. xml配置文件: <insert id= "importUser" useGeneratedKeys = "true" k

JDBC 获取自动生成的主键

为什么需要获取自动生成的主键 例如: 原文地址:https://www.cnblogs.com/wbyixx/p/12129054.html

Mybaits插入记录返回主键值

某些情况进行insert时不知道主键值(主键为自增),例如系统新增用户时,有用户序号(主键 自增),用户名,密码.插入时只需插入用户名和密码,之后取得mysql自增的序号. 如下为mysql的usr表结构: 对应的实体类 Mapper parameterType:参数类型,此处为实体类的完整路径.(可省略,mybatis会自动识别参数类型). useGeneratedKeys:令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 M

Jdbc获取oracle中guid主键

上代码 String sql = "BEGIN insert into itil_task_plan (PLAN_CODE) values (?) returning id into ?; END;"; CallableStatement ps = conn.prepareCall(sql); ps.setString(1, taskPlan.getPlanCode()); ps.registerOutParameter(2, Types.VARCHAR); row = ps.exec

Mybatis获取插入自增主键

只需在插入语句上配置: useGeneratedKeys="true" keyProperty ="id" <insert id="insertSelectiveMemberAcc" useGeneratedKeys="true" keyProperty="id" parameterType="com.member.domain.MemberAccInfo">     ins

mysql获取插入的id主键

long _retId = -1; Connection con = null; try { con = queryRunner.getDataSource().getConnection(); queryRunner.update(con, sql.toString(), val); Object _ret = queryRunner.query(con, "SELECT LAST_INSERT_ID() FROM " + getTableName(), new ScalarHand