我将SQL查询在类中定义为静态字符串:
private static final String SQL_QUERY = "...sql query...";
我正在使用没有hibernate的数据库。 所以如果在同一个班级我有这样的东西:
connection = connectionPool.getConnection();
preparedStatement = connection.prepareStatement(SELECT_NEXT_ID);
resultSet = preparedStatement.executeQuery();
然后IDEA正确地将我的SQL_QUERY
字符串识别为SQL方言,并为其启用正确的突出显示,自动完成和其他sql功能。
但是如果不是这个,我有一些帮助方法将这个逻辑封装在另一个类中,我只是传递SQL_QUERY
,所以我的代码看起来像:
DbHelper.executeSql(SELECT_ALL_ROOMS, DATABASE_NAME);
在此帮助程序中,我使用connection
,preparedStatement
和resultset
执行相同的操作,然后IDEA不会将我的SQL_QUERY
字符串标识为SQL语法。
有没有办法为这种情况启用这个sql语法功能?可能我可以使用一些注释(或其参数)标记DbHelper.executeSql
,或者我可以通过使用某些注释/注释标记SQL_QUERY
来启用它吗?
答案 0 :(得分:2)
@Language("SQL")
private static final String SQL_QUERY_STRING = "select * from...";
的更新:强>
使用IntelliJ插件:IntelliLang