JDBC插入并返回自增长主键
刚发现有这个功能,原来一直在琢磨hibernate怎么实现而且防止并发的,原来是我土了……
//mysql
CREATE TABLE foo(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(16), PRIMARY KEY(id));
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); //只读第一列^_^