• java_jdbc_batch处理_主键id获取


    //create1 速度较慢,create2较快,但是要根据数据库不同来决定

    //ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps可以获取 id

    package cn.itcast.batch;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import cn.itcast.JdbcUtils;
    import cn.itcast.user.DaoExcetpion;
    import cn.itcast.user.User;
    
    public class BatchTest {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    	}
    
    	public static void create(int i) {
    		Connection conn = null;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    
    		try {
    			conn = JdbcUtils.getConnection();
    			String sql = "insert into t_user(username,password) values (?,?) ";
    			ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
    			ps.setString(1, "batch name" + i);
    			ps.setString(2, "password1");
    
    			ps.executeUpdate();
    
    			// 可以利用注析代码为bean赋值,id赋值,不用return
    			// rs=ps.getGeneratedKeys();
    			// int id=0;
    			// if(rs.next()){
    			// id = rs.getInt(1);
    			// }
    			// return id;
    		} catch (SQLException e) {
    			throw new DaoExcetpion(e.getMessage(), e);
    		} finally {
    			JdbcUtils.free(rs, ps, conn);
    		}
    	}
    
    	public static void create2(int i) {
    		Connection conn = null;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    
    		try {
    			conn = JdbcUtils.getConnection();
    			String sql = "insert into t_user(username,password) values (?,?) ";
    			ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
    			for (int y = 0; y < 100; y++) {
    				ps.setString(1, "batch name " + i);
    				ps.setString(2, "batch password " + i);
    				ps.addBatch();
    			}
    			int[] iS = ps.executeBatch();
    			// ps.executeUpdate();
    
    		} catch (SQLException e) {
    			throw new DaoExcetpion(e.getMessage(), e);
    		} finally {
    			JdbcUtils.free(rs, ps, conn);
    		}
    	}
    }
    


     

  • 相关阅读:
    九度oj 题目1051:数字阶梯求和
    九度oj 题目1472:求两个多项式的和
    九度oj 题目1173:查找
    九度oj 题目1447:最短路
    九度oj 题目1104:整除问题
    [Luogu] 维护序列
    [Luogu] 计算系数
    [Luogu] 聪明的质监员
    [Luogu] Mayan游戏
    [Luogu] 选择客栈
  • 原文地址:https://www.cnblogs.com/MarchThree/p/3720425.html
Copyright © 2020-2023  润新知