我看到已經有一個答案,而是認爲我們應該擴大。 Querydsl自動生成表示數據庫對象的類。如果你有一個如MyTable的表,相應的Querydsl對象默認會得到前綴「Q」(QMyTable)。要從該表中查詢,您只需實例化QMyTable對象的實例,然後使用querydsl在該表上操作(例如,mysqlquery.from(qmytableinstance).list(myfield))。
Q只是生成的Querydsl對象的默認名稱前綴。在Querydsl對象生成過程中,可以使用setNamePrefix()方法告訴它使用任何你想要的命名前綴。下面是在使用「NOTQ」而不是「Q」 JUnit測試的例子:
@Test
public void testQueryDslGenerateCode_example() {
Connection connection = this.getConnection();
MetaDataExporter ex = new MetaDataExporter();
ex.setPackageName(packageName);
ex.setTargetFolder(new File(targetFolder));
ex.setSchemaToPackage(true);
ex.setSchemaPattern(schemaName);
ex.setNamePrefix("NOTQ");
try {
ex.export(connection.getMetaData());
} catch (SQLException e) {
e.printStackTrace();
}
}
這JUnit測試將產生全部前綴「NOTQ」而不是「Q」類。希望這是有幫助的。