在很多情况下,我们进行JDBC的编程,往往要通过特定的方式获取某一个表中的字段值,再将它赋予另外的字段或组合成一种新的约束,这时,我们也就要从程序的角度出发,考虑应该如何通过程序达到这种预期的效果了。
这里,简单介绍一个在JDBC中获取数据库自动生成的主键的小程序:
Connection con =null;
Statement st=null;
ResultSet rs=null;
PreparedStatement ps=null;
publicvoid getGeneratedKey(){
con = DBCManager.getConnect();//获取连接对象
try {
//定义sql语句
String sql = "insert into me (name,age ) values(?,?)";
//创建语句对象并标明返回自动增长的主键的值
ps =con.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
//为字段赋值
ps.setString(1, "linlin");
ps.setInt(2, 10);
//执行语句
ps.executeUpdate();
//获取自动生成的主键
rs = ps.getGeneratedKeys();
//通过遍历结果集获取到主键值然后输出
if(rs.next())
System.out.println(rs.getObject(1));
} catch (SQLException e) {
// TODO Auto-generatedcatch block
e.printStackTrace();
}
DBCManager.release(rs, ps, con);
}
通过程序里面的这些方法,我们便可以获取到所录入数据的主键列的值了,但是,应该注意,只有当表中的字段设为自动增长时才可以用此方法来获取自动生成的主键值。