generated keys not requested. you need to specify statement.return_generated_keys to statement.executeupdate(), statement.executelargeupdate() or connection.preparestatement().
时间: 2023-05-03 21:01:41 浏览: 103
"生成的键不被请求。你需要在 statement.executeupdate()、statement.executelargeupdate() 或 connection.preparestatement() 中指定 statement.return_generated_keys。"
相关问题
PreparedStatement ps = con.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
这段代码是在Java中使用PreparedStatement对象执行SQL语句,并返回生成的键值。
- `PreparedStatement` 是Java JDBC API 提供的一种预编译 SQL 语句的机制,可以防止SQL注入攻击,并提高执行效率。
- `con.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS)` 是创建一个PreparedStatement对象的方法。第一个参数是要执行的SQL语句,第二个参数表示要返回生成的键值。
在这段代码中,通过连接对象 `con` 的 `prepareStatement` 方法创建了一个PreparedStatement对象,并将SQL语句和 `RETURN_GENERATED_KEYS` 常量作为参数传递给该方法。这意味着执行SQL语句后,PreparedStatement对象会返回生成的键值,通常用于获取自动生成的主键值或其他需要返回的键值信息。
PreparedStatement statement = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);这句怎么分析
这句代码使用了Java中的PreparedStatement类,用于执行带有参数的SQL语句,可以防止SQL注入攻击。它使用了JDBC连接对象connection的prepareStatement方法,传入两个参数:第一个参数是SQL语句字符串sql,第二个参数是一个常量Statement.RETURN_GENERATED_KEYS,表示希望在执行SQL语句后获取生成的主键。该语句将返回一个PreparedStatement对象,可以通过该对象的executeUpdate()方法执行SQL语句,并通过getGeneratedKeys()方法获取生成的主键。