问题:在发布新帖子并将数据插入数据库时,需要将新帖子的id的值用作该条记录中的rootid
解决:
使用RETURN_GENERATED_KEYS常量,在处理sql语句的同时,返回自动增长的字段;
getGeneratedKeys()方法将返回值写入到ResultSet结果集中进行后续处理。
//获取属性为自动增长的id
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
//将属性为自动增长的字段返回ResultSet
ResultSet rskey = pstmt.getGeneratedKeys();
//因为表中只有id是自动增长属性,只需获取第一个int值
rskey.next();
int key = rskey.getInt(1);