我编写Spring + Vaadin应用程序。我想添加QueryDSL来访问数据库(Oracle)。我查看了文档(http://docs.spring.io/spring-data/jdbc/docs/current/reference/html/core.querydsl.html),并阅读了Spring建议使用标准QueryDSL api的内容。我依赖于以下方面来介绍我的项目:
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-sql-spring</artifactId>
<version>${querydsl.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-sql</artifactId>
<version>${querydsl.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的beans.xml如下:
<bean id="dataSourceOracle" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${db.oracle.driverClassName}" />
<property name="url" value="${db.oracle.url}"/>
<property name="username" value="${db.oracle.username}" />
<property name="password" value="${db.oracle.password}" />
<property name="defaultAutoCommit" value="false" />
</bean>
Run Code Online (Sandbox Code Playgroud)
在我的DatabaseFacade实现中,执行以下配置:
private SQLQueryFactory query;
@Autowired
@Qualifier("DataSource")
public void setDataSource(DataSource dataSource) {
Provider<Connection> provider = new SpringConnectionProvider(dataSource);
Configuration configuration = new Configuration(new OracleTemplates());
configuration.setExceptionTranslator(new SpringExceptionTranslator());
query …Run Code Online (Sandbox Code Playgroud)