· QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。
· Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句,也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。
借助QueryDSL可以在任何支持的ORM框架或者SQL平台上以一种通用的API方式来构建查询。目前QueryDSL支持的平台包括 JPA,JDO,SQL,Java Collections,RDF,Lucene,Hibernate Search。MONGODB
非常好的一个东西 防止数据库的差异 sql的写错
下面我们来怎么是用querydsl与 spring整合 spring对querdsl提供了 支持 那就是模板方式queryDslJdbcTemplate 封装了querydsl 的处理 怎么使用 我们下一张详细说明
第一步 我们pom要加入相关依赖 上一篇文章 已经加入了querydsl 还需要加入
第二步 在spring-jdbc.xml加入
第三步 不得不提的就是querydsl 都是使用中间实体Qmodel 也就是querydslModel 这些实体是用工具生成的
生成方式 有好几种 第一种 插件方式 这种方式 注意的就是配置的生成文件目录一定要事先建好,还有个就是querydsl的注解
@QuerySupertype 在父类用
@QueryEntity 在类上用
在相应的实体上加了上述注解后 再在pom.xml加入相应的插件
1.jdbc普通的方式
2 hibernate or jpa or spring data 的插件配置
HIBERNATE
JPA
mongodb
第二种 数据方式 个人最推荐 也是最好的
在数据库中建好生成表 然后写一个工具类 工具类只要一下几句
MetaDataExporter exporter = new MetaDataExporter();
exporter.setPackageName("com.cn21.talk.qmodel");
exporter.setTargetFolder(new File("src/main/java"));
exporter.setTableNamePattern(tabName);
exporter.export(conn.getMetaData());
执行生成后的Qmodel如图所示
至此 整合querydsl已经全部完成 下一张 将开启querydsl使用教程篇章