JDBC自动生成主键值
@Test public void test3(){ Connection conn = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; String sql = "insert into student(name,password) values(?,?)"; try { conn = Methods.getConnection(); //使用重载的prepareStatement(sql,flag)来生成prepareStatement对象 preparedStatement = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS); preparedStatement.setString(1,"yang5"); preparedStatement.setString(2,"1235"); preparedStatement.executeUpdate(); //通过getGenerateKeys获取包含了新生成主键的ResultSet对象 //在ResultSet中只有一列GENERATED_KEY,用于存放新生成的主键值。 resultSet = preparedStatement.getGeneratedKeys(); if(resultSet.next()){ System.out.println(resultSet.getObject(1)); } ResultSetMetaData rsmd = resultSet.getMetaData(); for (int i = 0; i < rsmd.getColumnCount(); i++) { System.out.println(rsmd.getCatalogName(i+1)); } } catch (Exception e) { e.printStackTrace(); } finally { Methods.release(preparedStatement,conn,resultSet); }