在IDEA中为特定字符串启用sql语法高亮显示

时间:2018-05-07 09:29:45

标签: java sql intellij-idea

我将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);

在此帮助程序中,我使用connectionpreparedStatementresultset执行相同的操作,然后IDEA不会将我的SQL_QUERY字符串标识为SQL语法。

有没有办法为这种情况启用这个sql语法功能?可能我可以使用一些注释(或其参数)标记DbHelper.executeSql,或者我可以通过使用某些注释/注释标记SQL_QUERY来启用它吗?

1 个答案:

答案 0 :(得分:2)

@Language("SQL")
private static final String SQL_QUERY_STRING = "select * from...";


更新:

使用IntelliJ插件:IntelliLang

  1. 打开设置>编辑>语言注射
  2. 单击“添加按钮”并选择“Java参数”
  3. 在语言注入设置中,选择SQL(或任何其他语言)
  4. 在“类方法”字段中,输入要标识的方法(在您的案例中为executeSql(String sql))。您可以打开搜索窗口以通过IDE选择
  5. 您的方法在字符串中的查询必须按照您的意愿突出显示