我们创建一个sql表,里面的数据往往都会有自增长值。

那么,我们用jdbc插入数据的时候,要想同时获得这个增长值。

 

   代码:

/**
*
* 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自增长列是id)
*
* @author LZL
*
*/
public class Auto_Increment { private static Connection conn = null;
private static PreparedStatement stsm = null;
private static ResultSet rs = null; @Test
public void testGetAutoIncrement() {
try {
// 1:创建连接
conn = Jdbcutil.getConnection(); // 2:设置sql预编译语句
String sql = "INSERT INTO person (NAME,sex,age) VALUES (?,?,?);"; // 3:执行sql预编译语句(同时在参数中指定自增列)
stsm = conn.prepareStatement(sql,
PreparedStatement.RETURN_GENERATED_KEYS); // 4:设置参数值
stsm.setString(1, "王五");
stsm.setString(2, "男");
stsm.setInt(3, 22); // 5:发送参数,执行sql
stsm.executeUpdate(); // 6:执行完上面的更新数据操作后,获取自增长列
rs = stsm.getGeneratedKeys();
// 7:输出该数据对应的自增长列的值
if (rs.next()) {
System.out.println("刚才添加的数据的自增长列值是:" + rs.getInt(1));
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally {
} Jdbcutil.close(conn, stsm, rs); } }