码迷,mamicode.com
首页 > 其他好文 > 详细

PreparedStatement 获取自动生成键

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

标签:java

 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 获取自动生成键

标签:java

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!