Лучшая практика создания безопасного/неиспорченного SQLJAVA

Программисты JAVA общаются здесь
Anonymous
Лучшая практика создания безопасного/неиспорченного SQL

Сообщение Anonymous »

Как лучше всего создавать операторы SQL, которые не будут считаться небезопасными или испорченными?
Когда я использую JdbcTemplate/JdbcClient, мне нравится определять константы SQL и конструировать операторы следующим образом:

Код: Выделить всё

    public static final String TABLE_NAME = "USERS";
public static final String COLUMN_ACCOUNTID = "ACCOUNTID";
public static final String SELECT_BY_ACCOUNTID =
"SELECT * FROM " + TABLE_NAME + " WHERE " + COLUMN_ACCOUNTID + "=?";
IntelliJ предупреждает, что использование SQL небезопасно:

Код: Выделить всё

    public Optional getUserByAccountId(String accountId) {
return jdbcClient
// IntelliJ warns that this string is unsafe:
.sql(UserSql.SELECT_BY_ACCOUNTID)
.query(new UserMapper())
.param(accountId)
.optional();
}
Как можно составить оператор SQL так, чтобы он не считался небезопасным?

Вернуться в «JAVA»