Skip to content

Commit cb10638

Browse files
authored
Merge pull request #253 from domaframework/add-querydsl-support
Add QueryDsl support
2 parents 66ef38b + 979e241 commit cb10638

File tree

2 files changed

+46
-4
lines changed

2 files changed

+46
-4
lines changed

doma-spring-boot-autoconfigure/src/main/java/org/seasar/doma/boot/autoconfigure/DomaAutoConfiguration.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.seasar.doma.jdbc.SqlFileRepository;
1717
import org.seasar.doma.jdbc.criteria.Entityql;
1818
import org.seasar.doma.jdbc.criteria.NativeSql;
19+
import org.seasar.doma.jdbc.criteria.QueryDsl;
1920
import org.seasar.doma.jdbc.dialect.Db2Dialect;
2021
import org.seasar.doma.jdbc.dialect.Dialect;
2122
import org.seasar.doma.jdbc.dialect.H2Dialect;
@@ -146,7 +147,6 @@ public DomaConfigBuilder domaConfigBuilder() {
146147
return new DomaConfigBuilder(domaProperties);
147148
}
148149

149-
@SuppressWarnings("deprecation")
150150
@Bean
151151
@ConditionalOnMissingBean(Config.class)
152152
public DomaConfig config(DataSource dataSource, Dialect dialect,
@@ -190,4 +190,15 @@ public NativeSql nativeSql(Config config) {
190190
return new NativeSql(config);
191191
}
192192
}
193+
194+
@Configuration
195+
@ConditionalOnClass({ QueryDsl.class })
196+
public static class QueryDslConfiguration {
197+
198+
@Bean
199+
@ConditionalOnMissingBean(QueryDsl.class)
200+
public QueryDsl queryDsl(Config config) {
201+
return new QueryDsl(config);
202+
}
203+
}
193204
}

doma-spring-boot-autoconfigure/src/test/java/org/seasar/doma/boot/autoconfigure/DomaAutoConfigurationTest.java

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package org.seasar.doma.boot.autoconfigure;
22

3-
import static org.hamcrest.CoreMatchers.*;
4-
import static org.hamcrest.MatcherAssert.*;
5-
import static org.junit.jupiter.api.Assertions.*;
3+
import static org.hamcrest.CoreMatchers.instanceOf;
4+
import static org.hamcrest.CoreMatchers.is;
5+
import static org.hamcrest.CoreMatchers.notNullValue;
6+
import static org.hamcrest.MatcherAssert.assertThat;
7+
import static org.junit.jupiter.api.Assertions.assertEquals;
8+
import static org.junit.jupiter.api.Assertions.assertNotNull;
69

710
import java.sql.SQLException;
811
import java.sql.SQLTimeoutException;
@@ -27,6 +30,7 @@
2730
import org.seasar.doma.jdbc.UtilLoggingJdbcLogger;
2831
import org.seasar.doma.jdbc.criteria.Entityql;
2932
import org.seasar.doma.jdbc.criteria.NativeSql;
33+
import org.seasar.doma.jdbc.criteria.QueryDsl;
3034
import org.seasar.doma.jdbc.dialect.Dialect;
3135
import org.seasar.doma.jdbc.dialect.H2Dialect;
3236
import org.seasar.doma.jdbc.dialect.MysqlDialect;
@@ -255,6 +259,24 @@ public void testJdbcLoggerSlf4J() {
255259
assertThat(jdbcLogger.getClass().getSimpleName(), is("Slf4jJdbcLogger"));
256260
}
257261

262+
@Test
263+
public void testAutoRegisteredQueryDsl() {
264+
this.context.register(DomaAutoConfiguration.class, DataSourceAutoConfiguration.class);
265+
this.context.refresh();
266+
QueryDsl queryDsl = this.context.getBean(QueryDsl.class);
267+
assertNotNull(queryDsl);
268+
}
269+
270+
@Test
271+
public void testQueryDslWithConfig() {
272+
this.context.register(MyQueryDslConfig.class, DomaAutoConfiguration.class,
273+
DataSourceAutoConfiguration.class);
274+
this.context.refresh();
275+
Map<String, QueryDsl> queryDslBeans = this.context.getBeansOfType(QueryDsl.class);
276+
assertEquals(1, queryDslBeans.size());
277+
assertNotNull(queryDslBeans.get("myQueryDsl"));
278+
}
279+
258280
@After
259281
public void tearDown() {
260282
if (this.context != null) {
@@ -341,4 +363,13 @@ public NativeSql myNativeSql(Config config) {
341363
return new NativeSql(config);
342364
}
343365
}
366+
367+
@Configuration
368+
public static class MyQueryDslConfig {
369+
370+
@Bean
371+
public QueryDsl myQueryDsl(Config config) {
372+
return new QueryDsl(config);
373+
}
374+
}
344375
}

0 commit comments

Comments
 (0)