JDBC插入返回自动增长列的值,很多时候我们要先执行一条insert语句,在执行一条查询语句,这样可能会出现多线程的情况,可能会查询错ID,如果使用这种在插入后立即返回当前自增长的的值就永远不会错乱ID了.
conn = getConnection() ; //获取数据库链接,这里就不加说明了
/*执行预处理语句,设置一个自增长列*/
ps = conn.prepareStatement(sql , 1 ) ;
/*循环设置参数*/for(int x=0;x<param.length;x++){
ps.setObject(x + 1 , param[x]) ;
}
ps.executeUpdate() ; /*执行更新*/
rs = ps.getGeneratedKeys(); /*获取主键增长列的结果集*/
while (rs.next()) {
return rs.getInt( 1 ) ; /*返回主键增长信息*/
}
return 0 ;