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

时间:2023-01-03 13:05:44

一、获取插入记录主键值

在创建语句的地方使用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)定位到第五条