主键回显
1. 什么是主键回显
主键回显即———java程序获取插入数据时mysql维护自增长的主键id值。
作用在于,在多表关联插入数据时,一般主表的主键都是自动生成的,所以在插入数据之前无法知道这条数据的主键,但是从表需要在插入数据之前就绑定主表的主键,这是可以使用主键回显技术。
2. 简单实例
1.创建PreparedStatement的时候告知要携带回来主键(connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS))
2.使用getGeneratedKeys()方法获得所得到的主键值结果集,对结果集进行解析即可得到主键值
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.cj.jdbc.Driver"); //注册驱动
Connection connection = DriverManager.getConnection("jdbc:mysql:///atguigu?user=root&password=123456");//创建连接
String sql="insert into t_user(account,password,nickname) values(?,?,?);";//编写sql语句结构
PreparedStatement preparedStatement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);//将sql传递给statement
preparedStatement.setObject(1,"lisi");//给占位符赋值
preparedStatement.setObject(2,"555555");
preparedStatement.setObject(3,"董事长");
int i = preparedStatement.executeUpdate();//执行sql
ResultSet generatedKeys = preparedStatement.getGeneratedKeys();
generatedKeys.next();
int id=generatedKeys.getInt(1);
System.out.println("id:"+id);
}