Java PreparedStatement设置间隔

Bog*_*kyi 0 java postgresql prepared-statement

sql语句中间隔的正确转义是什么?

目前我有以下代码转义customerId变量:

final String query = "delete from login_history where time < current_timestamp - '" + days + " days'::interval and customer_id = ?";
PreparedStatement preparedStatement = connection.prepareStatement(query);
preparedStatement.setInt(1, customerId);
int deleted = preparedStatement.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

但我也想逃避日子.

Tim*_*m B 6

替换"+ days +"为a ?,更改setInt为2而不是1并添加

preparedStatement.setWhateverTypeDaysIs(1, days);
Run Code Online (Sandbox Code Playgroud)