刚发现有这个功能,原来一直在琢磨hibernate怎么实现而且防止并发的,原来是我土了……
//mysql
//java
//mysql
CREATE TABLE foo(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(16), PRIMARY KEY(id));
//java
String sql = "INSERT INTO foo(name) VALUES(?)"
PreparedStatement st = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
st.setString(1, "bar");
int row = st.executeUpdate();
ResultSet rs = st.getGeneratedKeys();
if(rs.next())
int generatedKey = rs.getInt(1); //只读第一列^_^