java dsl框架_Spring Boot整合QueryDSL的实现示例
之前研究Jooq,今天来研究一下搭配JPA的QueryDSL吧。
简介
Querydsl是一个Java开源框架用于构建类型安全的SQL查询语句。它采用API代替拼凑字符串来构造查询语句。可跟 Hibernate 和 JPA 等框架结合使用。
新建Spring Boot项目
。。。还说啥?
1. pom.xml
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-web
mysql
mysql-connector-java
runtime
com.querydsl
querydsl-apt
provided
com.querydsl
querydsl-jpa
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.boot
spring-boot-maven-plugin
com.mysema.maven
apt-maven-plugin
1.1.3
process
target/generated-sources/java
com.querydsl.apt.jpa.JPAAnnotationProcessor
2. application.yml
server:
port: 8888
spring:
datasource:
url: jdbc:mysql://IP地址:3306/querydsl?characterEncoding=UTF-8
username: 用户名
password: 密码
jpa:
show-sql: true # 控制台打印SQL
hibernate:
ddl-auto: update
3. JPAQueryFactory Bean
/**
* JPAQueryFactory Bean
* @author zhouzhaodong
*/
@Configuration
public class PeopleQueryConfig {
@Bean
public JPAQueryFactory jpaQuery(EntityManager entityManager) {
return new JPAQueryFactory(entityManager);
}
}
4. 新建实体类
/**
* 实体类
* @author zhouzhaodong
*/
@Entity
@Table(name="people")
public class People {
@Id
@Column(name="id")
@GeneratedValue
private Integer id;
@Column(name="name")
private String name;
@Column(name="age")
private Integer age;
@Column(name="address")
private String address;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
5. 新建service
/**
* service
* @author zhouzhaodong
*/
public interface PeopleService {
/**
* 根据id查询
* @param id
* @return
*/
People selectOne(Integer id);
}
6. 新建serviceImpl
/**
* serviceImpl
* @author zhouzhaodong
*/
@Service
public class PeopleServiceImpl implements PeopleService {
@Resource
JPAQueryFactory queryFactory;
@Override
public People selectOne(Integer id) {
QPeople people = QPeople.people;
return queryFactory.selectFrom(people).where(people.id.eq(id)).fetchOne();
}
}
7. 新建controller
/**
* controller
* @author zhouzhaodong
*/
@RestController
public class PeopleController {
@Resource
PeopleService peopleService;
@RequestMapping("/selectById")
public People selectById(){
return peopleService.selectOne(0);
}
}
8. 新建repository,可以使用JPA原有的功能
/**
* 实现jpaRepository
* @author zhouzhaodong
*/
public interface PeopleRepository extends JpaRepository {
}
9. postman测试
数据库数据如下:
请求结果:
到此这篇关于Spring Boot整合QueryDSL的实现示例的文章就介绍到这了,更多相关SpringBoot整合QueryDSL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
java dsl框架_Spring Boot整合QueryDSL的实现示例相关推荐
- java ftpclient多线程_Spring Boot整合FTPClient线程池的实现示例
最近在写一个FTP上传工具,用到了Apache的FTPClient,但是每个线程频繁的创建和销毁FTPClient对象对服务器的压力很大,因此,此处最好使用一个FTPClient连接池.仔细翻了一下A ...
- java 模板引擎_Spring Boot 如何快熟整合Thymeleaf模板引擎
前面介绍了Spring Boot的优点,然后介绍了如何快速创建Spring Boot 项目.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/ ...
- springboot 文件服务器_Spring Boot整合阿里OSS文件储存服务器详细教程
一.准备工作 开发工具idea,jdk1.8,测试工具 postman 注册阿里云服务器并创建oss储存库, 创建Spring boot空项目 二. 引入pom.xml org.springframe ...
- apache shiro怎么升级_Spring Boot 整合 Shiro ,两种方式全总结!
在 Spring Boot 中做权限管理,一般来说,主流的方案是 Spring Security ,但是,仅仅从技术角度来说,也可以使用 Shiro. 一般来说,Spring Security 和 S ...
- springboot hibernate 缓存不更新_spring boot 整合 ehcache
1. 该说的话 每个人都应当学会独立地去思考.去寻找答案,而不是一味地伸手向他人索取所谓的标准答案. 首先,别成为"拿来主义"者,其次远离"拿来主义"的人. 2 ...
- java主流微服务框架_Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解,...
Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解, Spring Boot相对于传统的SSM框架来说:springboot使用了特定的配置方式,开发人员不需要 ...
- java即时通讯框架_Spring Boot 开发私有即时通信系统(WebSocket)
1/ 概述 利用Spring Boot作为基础框架,Spring Security作为安全框架,WebSocket作为通信框架,实现点对点聊天和群聊天. 2/ 所需依赖 Spring Boot 版本 ...
- java前后端分离框架_Spring Boot 入门及前后端分离项目实践
本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发.Spring Boot ...
- springfox源码_Spring boot整合Springfox在线生成restful的api doc
Springfox是什么,有什么用? Springfox基于Swagger,能更方便的集成到spring boot 中,Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTf ...
最新文章
- Gradle for Android 第三篇( 依赖管理 )
- bzoj1334[Baltic2008]Elect(背包dp)
- A. Boredom【DP】
- 保研计算机辅助翻译,本科2013级推免生寄语
- 用hibernate类实现数据库的基本操作
- stm32l0的停止模式怎么唤醒_关于Mac睡眠模式,你不知道的那些事
- Spring源码之事务(二)
- poi(easypoi)导出excel(xls,xlsx)后,文件打开错误或乱码的解决方法(亲测)
- Android 自定义viewGroup实现淘宝二楼及处理多指触控事件
- 国家各个政府机构网站
- OpenCV——图像矩
- CPU使用率100%怎么办
- aws ebs 分析_使用AWS Comprehend进行情感分析
- 好看的404,500页面
- JAVA入门-024(int的正负数)
- Transformer for image quality assessment阅读笔记
- DAEMON Tools Lite 虚拟光驱,安装iso文件,提示需要管理员权限的问题解决
- esp32 smtp发送邮件micropython
- vue中使用Antv g6构建简单流程图
- MPU6500驱动调试笔记(STM32F427+SPI2)