首页 > 其他 > 详细

PreparedStatement 获取自动生成键

时间:2014-07-30 17:47:15      阅读:655      评论:0      收藏:0      [点我收藏+]

 PreparedStatement 获取自动生成键

 

使用可以获取自动生成键方法 Statement.RETURN_GENERATED_KEYS表示返回生成键

PreparedStatement pstmt = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);

//获取生成键的结果集

ResultSet rls = pstmt.getGeneratedKeys();

getGeneratedKeys()方法继承Statement的。                          


 Connection conn = DB.getConnection();

//获取Connection自动提交的boolean值

boolean autoCom = conn.getAutoCommit();

//将自动提交设为false

conn.setAutoCommit(false);


String title = request.getParameter("title");

int rootid = -1;

String sql = "insert into article                                                 values(null,?,?,?,?,now(),?)";

//使用可以获取自动生成键方法                                 Statement.RETURN_GENERATED_KEYS表示返回生成键

PreparedStatement pstmt = conn.prepareStatement(sql,

Statement.RETURN_GENERATED_KEYS);

pstmt.setInt(1, 0);

pstmt.setInt(2, rootid);

pstmt.setString(3, title);

pstmt.setString(4, request.getParameter("cont"));

pstmt.setInt(5, 0);

pstmt.executeUpdate();

//获取生成键的结果集

ResultSet rls = pstmt.getGeneratedKeys();

rls.next();

//根据位置得到第一个自动生成键的值

rootid = rls.getInt(1);

String strsql = "update article set rootid=" + rootid

+ " where id=" + rootid;

DB.updateDB(conn,strsql);


conn.commit();

conn.setAutoCommit(autoCom);

DB.close(pstmt);

DB.close(conn);


PreparedStatement 获取自动生成键,布布扣,bubuko.com

PreparedStatement 获取自动生成键

原文:http://yinzheyihao.blog.51cto.com/2100950/1532913

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!