Ich verwende IntelliJ 13 als IDE für ein Projekt, wo die Kommunikation mit DB über Spring JDBC-Vorlage erfolgt. Wenn ich Code-Fragmente in Java wie die folgenden:IntelliJ IDEA - Syntax Hervorhebung von SQL In Java Code
getJdbcTemplate().queryForObject("SELECT CONVERT(VARCHAR(255), NEWID())", String.class);
wo getJdbcTemplate() zurückkehrt JdbcTemplate Objekt initialisiert hat die IDE richtige Syntax für die SQL-Anweisung markiert (Sie es auf dem Snippet unten sehen):
.code {font-family: Monospace}
.db-stmt {background: #EDFCED}
.db-keyword {color: #000080; font-weight: bold;}
.db-column {color: #7D0C8D; font-weight: bold;}
.db-number {color: #0000FF;}
.java-class {color: #39008E; font-weight: bold;}
<span class="code">getJdbcTemplate().queryForObject("<span class="db-stmt"><span class="db-keyword">SELECT CONVERT</span>(<span class="db-keyword">VARCHAR</span>(<span class="db-number">255</span>), NEWID())</span>", String.<span class="java-class">class</span>);</span>
Allerdings, wenn ich eine andere Methode verwenden, erstellt von mir:
protected String queryForString(String sql, Object... args) {
try {
return getJdbcTemplate().queryForObject(sql, String.class, args);
}
catch (RuntimeException e) {
return null;
}
}
für die gleiche Abfrage:
queryForString("SELECT CONVERT(VARCHAR(255), NEWID())");
gibt es keine Syntax-Hervorhebung der SQL-Anweisung. Wissen Sie, wie Sie die Syntax-Hervorhebung von SQL-Stämmen für Java-Stiche aktivieren können, die keine Argumente für Methoden von JdbcTemplate oder java.sql interfaces sind?
Sie können versuchen, einen Teil der SQL-Abfrage auszuwählen, drücken Sie die ALT-EINGABETASTE und wählen Sie Sprachreferenz/SQL einlesen aus. Nicht sicher, ob es für Argumente der gegebenen Methode vorübergehend oder dauerhaft sein wird ... –
OK, ich wusste nicht über diese Möglichkeit.Funktioniert für mich jetzt, aber ich hoffe, dass es eine dauerhafte Lösung dafür gibt (wie einige Einstellungen oder Anmerkungen ...) –