Mysql:
mysql> create table teacher(
-> id INT PRIMARY KEY AUTO_INCREMENT,
-> name varchar(22)
-> );
jdbc:
try {
Connection connection = jdbcUtil.getConnection();
String sql="INSERT INTO teacher(name) value(?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
preparedStatement.setString(1, "sql");
preparedStatement.executeUpdate();
ResultSet resultSet = preparedStatement.getGeneratedKeys();
if(resultSet.next()) {
System.out.println(resultSet.getInt(1));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Statement.RETURN_GENERATED_KEYS:
是设置自动增长的属性
getGeneratedKeys():
返回的是自动增长的那个ResultSet集合,
其实就是该插入字段的自动增长值
resultSet.next():
游标下一行数据,是从0开始的
就是就是第一个next()得到的是第一行的数据
resultSet.getInt(1):
是获取属性列的第一列 是从1开始 而不是0