代码如下:
package com.atchance.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class testGetKeyValue {
/**
* 用于获得插入记录时的主键值
* @throws SQLException
*/
public void getKeyValues() throws SQLException{
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
con = JDBCTools.getConnection();
String sql = "insert into student values(?,?,?)";
//ps = con.prepareStatement(sql);
//使用重载preparedStatement(sql,flag)来创建对象
ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "张三");
ps.setString(2, "男");
ps.setString(3, "湖南");
ps.executeUpdate();
//输出主键值
rs = ps.getResultSet();
if(rs.next()){
System.out.println(rs.getObject(1));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCTools.release(null, ps, con);
}
}
}
JDBCTools类为连接数据库以及关闭数据源的类,具体实现详见本人其他几篇文章