nutz执行插入操作后,返回插入后的Id

时间:2022-08-15 21:40:59

nuts插入数据库的方式有:


dao.insert();

dao.excute(sql);

等方式。但都不能返回插入后的ID。

下列方法可以实现:

/**t_plan_keyword表ID*/
private static long keywordId = -1;
/**
* 根据keyword插入数据库,并返回插入后库表的ID
* @param dao
* @param keyword 关键字
* @return
*/
public static long insertKeyword(Dao dao,final String keyword) {
dao.run(new ConnCallback() {
@Override
public void invoke(Connection conn) throws Exception {
String sqlString = "INSERT INTO t_plan_keyword(keyword) VALUES( '"+keyword+"' )";
Statement stmt = conn.createStatement();
stmt.executeUpdate(sqlString, Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();
if( rs.next()) keywordId = rs.getLong(1);
if( rs != null ) rs.close();
if( stmt != null ) stmt.close();
}
});
return keywordId;
}