mysql获取刚insert的记录ID
?当数据库表的主键使用mysql的自增ID时,获取一条刚插入的记录的ID可以?使用:
rs = pstmt.getGeneratedKeys();
if(rs.next()) {
??????? personId = rs.getInt(1);
}
?
附程序中的一个例子:
?????
public int addPerson(Person person) { int personId = 0; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { String sql = "INSERT INTO t_person(personname, gender, age, address, duty, phone, description, receivesms) VALUES(?, ?, ?, ?, ?, ?, ?, ?)"; conn = DB.getConn(); pstmt = DB.prepareStmt(conn, sql); pstmt.setString(1, person.getPersonname()); pstmt.setString(2, person.getGender()); pstmt.setInt(3, person.getAge()); pstmt.setString(4, person.getAddress()); pstmt.setString(5, person.getDuty()); pstmt.setString(6, person.getPhone()); pstmt.setString(7, person.getDescription()); pstmt.setInt(8, person.isReceivesms() ? 1 : 0); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if(rs.next()) { personId = rs.getInt(1); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(pstmt); DB.close(conn); } return personId; }
?
?