Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)

article/2025/10/16 18:43:56

1 QueryDSL

        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。

2 Maven依赖

		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.1</version></dependency><!-- QueryDsl --><dependency><groupId>com.querydsl</groupId><artifactId>querydsl-jpa</artifactId></dependency><dependency><groupId>com.querydsl</groupId><artifactId>querydsl-apt</artifactId><scope>provided</scope></dependency>

3 Maven插件

            <plugin><groupId>com.mysema.maven</groupId><artifactId>apt-maven-plugin</artifactId><version>1.1.3</version><executions><execution><goals><goal>process</goal></goals><configuration><outputDirectory>target/generated-sources/java</outputDirectory><processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor></configuration></execution></executions></plugin>

4 Spring Boot配置


#连接mysql数据库
spring.datasource.url = jdbc:mysql://localhost:3306/xudongbase?useUnicode=true&characterEncoding=utf8&useOldAliasMetadataBehavior=true&useTimezone=true&serverTimezone=GMT%2B8&useLegacyDatetimeCode=false
spring.datasource.username = root
spring.datasource.password = xudong123456
spring.jpa.database = mysql

5 UserEntity

用户信息实体类。

package com.entity;import lombok.Data;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;/*** 用户信息实体类*/
@Data
@Table(name = "users")
@Entity
public class UserEntity {/*** 用户名*/@Column(name = "username")@Idprivate String username;/*** 昵称*/@Column(name = "pickname")private String pickname;/*** 密码*/@Column(name = "password")private String password;/*** 性别*/@Column(name = "sex")private String sex;
}

6 生成Query查询实体类

6.1 配置项目的maven命令

第一步,点击Run->Edit Configurations,进入Run/Debug Configurations窗口。

第二步, 点击+号,再点击Maven,生成一条Maven配置。

 

第三步,在Comand line 输入 compile,点击Apply。

6.2 生成Query查询实体类

第一步,点击运行按钮,生成Query查询实体类。

 

7 UserRepository

package com.dao;import com.entity.UserEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.querydsl.QuerydslPredicateExecutor;public interface UserRepository extends JpaRepository<UserEntity,Long>, QuerydslPredicateExecutor<UserEntity> {
}

8 调试代码

package com.controller;import com.dao.UserRepository;
import com.entity.QUserEntity;
import com.entity.UserEntity;
import com.querydsl.core.types.dsl.BooleanExpression;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;@RestController
public class UserController {@Autowiredprivate UserRepository userRepository;/*** 获取用户信息** @param username 用户名* @return*/@GetMapping("/getUserList")public List<UserEntity> getUserList(@RequestParam String username) {//查询实体QUserEntity qUserEntity = QUserEntity.userEntity;BooleanExpression expression = qUserEntity.username.contains(username);List<UserEntity> userEntityList = StreamSupport.stream(userRepository.findAll(expression).spliterator(),false).collect(Collectors.toList());return userEntityList;}
}

9 调试结果

9.1 查询数据


http://chatgpt.dhexx.cn/article/YyxyBH7Q.shtml

相关文章

微信开发之服务号设置

服务号设置 公众号开发主要用到AppID AppSecret 以下操作前提是&#xff0c;服务号已认证 在开发基本设置里 设置开发者模式开启设置appSecret 需要管理员扫码设置ip白名单 需要管理员扫码服务器配置启用&#xff0c;填写服务器验证地址 在开发者工具&#xff0c;web开发者工具…

微信服务号开发

最近终于完成了团队微信服务号的开发&#xff0c;深深的喘了一口气&#xff0c;还记得在差不多10天前&#xff0c;我们几个为了参加学校服务外包大赛的队友一起讨论选题&#xff0c;最终确定了以微信为基底开发一个人力资源管理系统的微信公众平台&#xff0c;几天后&#xff0…

微信开发公众号

背景&#xff1a; 过年前后做了个微信公众号项目&#xff0c;已经过去一段时间了&#xff0c;抽空回忆总结下基本流程吧&#xff0c;不然很快估计自己就忘了。。 文章目录 一、注册公众号二、了解公众号管理页面三、必备开发者工具的使用1.开发者文档2.在线接口调试工具3.web开…

微信服务号Java开发(一)

发送模板消息 1. 服务器配置 解析&#xff1a;微信发送一个get请求&#xff0c;并携带4个参数&#xff1a;signature、timestamp、nonce、echostr。开发者需要验证该请求是否来源于微信&#xff0c;验证方法&#xff1a; 1&#xff09;将token、timestamp、nonce三个参数进行字…

微信公众号之接入微信公众号服务器开发(二)

说明&#xff1a;该篇博客是博主一字一码编写的&#xff0c;实属不易&#xff0c;请尊重原创&#xff0c;谢谢大家&#xff01; 接着上一篇博客继续往下写 &#xff1a;https://blog.csdn.net/qq_41782425/article/details/85319116 一丶叙述 开发说明 Python代码实现&…

教你3分钟快速开发微信公众号[订阅号][服务号]

Wx-tools是基于微信公众平台API的轻量级框架。 基于Wx-tools你可以开速开发一个订阅号/服务号的web应用后台。 博主最近终于有空&#xff01;&#xff01;已经更新到2.0.0啦&#xff01;&#xff01; GitHub仓库 下载wx-tools-2.0.0.jar wx-tools开发文档 大三做过几个基于…

微信公众号开发之配置开发服务器

微信公众号开发详细教程 微信公众号开发文档 需不需要开发服务器应该根据自己的业务需求来决定。如果你只是简单使用微信公众号&#xff0c;发送推文等简单需求&#xff0c;你就不需要的配置自己的开发服务器&#xff0c;微信公众号平台功能十分强大&#xff0c;不懂技术的用…

微信服务号的开发-服务器配置

微信服务号开发-服务器配置 本期是将微信开发第一步&#xff0c;也就是服务器配置&#xff0c;以及校验。 话不多说&#xff0c;我们主要讲重点。既然是微信服务号开发&#xff0c;首先我们需要一个测试号&#xff0c;大家可以自己去微信公众平台申请一个。 申请完后&#xff…

微信公众号开发:服务器配置(Java)

由于项目需要微信公众号的开发&#xff0c;弄了老半天&#xff0c;发现也不是那么难弄。 对于微信公众号开发&#xff0c;首先要有开发者权限然后进行基本的配置。 登录进微信公众号平台&#xff0c;首页最下面有个基本配置&#xff1a; 进入基本配置后&#xff0c;会看到两个…

微信公众号开发——服务器配置

一、前提 1、购买一台云服务器 域名解析 这里用的宝塔服务 创建域名 绑定到指定的目录 wx.php 代码如下 <?php /** * wechat php test */ //define your token define("TOKEN", "weixin"); $wechatObj new wechatCallbackap…

微信公众号开发--服务号

前言 因公司需要开发一款手机打卡程序&#xff0c;本人没有安卓APP开发经验&#xff0c;所以决定将写个服务号的公众号&#xff0c;集外出打卡&#xff0c;打卡查询等功能; 一&#xff0c;开发前测试帐号申请 以下是官方给出的建议&#xff0c;大家可以多参考参考 1&#xf…

如何使用开发者服务器运维微信公众号

文章目录 1 如何把微信公众号授权给开发者服务器2 如何使用代码把开发者服务器与微信服务器进行关联 很多人都有自己的服务器&#xff0c;特别是对于大学生而言&#xff0c;很多服务器公司都对学生有优惠&#xff0c;例如腾讯云只要1元每月&#xff1a;http://blog.csdn.net/ti…

python 微信公众号开发[1] 后台服务器端配置与公众号开发配置

更新时间&#xff1a;2020年3月7日 微信公众号开发的硬件必备条件&#xff1a;&#xff08;1&#xff09;申请一个公众号 &#xff08;2&#xff09;有公网ip的服务器&#xff08;最好是阿里云&#xff0c;腾讯云等的云服务器&#xff09;&#xff08;3&#xff09;解析到&…

微信小程序微信服务号开发微信公众平台开发前端开发框架

1、Frozen UI 手Q出品&#xff0c;组件更丰富&#xff0c;视觉舒适度也不错&#xff0c;适合我这种前端较生疏&#xff0c;需要开箱即用的程序员。 推荐度&#xff1a;5星 演示地址&#xff1a;FrozenUI Demo 2、WeUI 官方出品&#xff0c;情怀满满&#xff0c;但是组件不够用。…

微信公众号开发流程指南

微信公众号开发流程指南 一.物料准备二.开发须知0.接入验证1.消息类型概括(MsgType)2.申请服务号的原因为账号类型所支持功能不同,职能不同3.当开启服务器配置后,公众号的原始菜单将会失效, 会以自定义菜单为准4.如下文介绍Api中出现Token字样, 则统一为通过AppId和AppSecret获…

微信公众号开发

文章目录 一、微信公众号简介二、注册/登录微信公众号三、功能介绍1、编辑模式&#xff08;个人开发者&#xff0c;无需服务器&#xff09;2、开发模式 四、实战开发1、配置服务器2、模块化 五、获取 access_token1、access_token 是什么&#xff1f;2、获取 access_token 功能…

公众号开发配置,服务号对接第三方服务器配置方法

很多公司企业在注册服务号后&#xff0c;通常需要对接第三方的开发平台&#xff0c;进行一些功能的完善补充。 市面上第三方平台非常之多&#xff0c;但是因微信官方限制&#xff0c;所需要的配置总结下来就这么几点&#xff0c;下面给大家讲解下配置的要点&#xff1a; 一、…

公众号开发

1.本地调试:打开微信开发者工具——》微信开发者工具选项——》更换开发模式——》公众号网页调试 2.使用 http://127.0.0.1:8080 本地调试会 the permission value is offline verifying 解决方法:先在输入框输入 http://demo.open.weixin.qq.com/jssdk&#xff0c;再输入你之…

微信公众号开发(一)服务器及接口的配置

微信公众号开发&#xff08;一&#xff09;服务器及接口的配置 关于微信公众号中的订阅号和服务的区别这里不多加讨论&#xff0c;网上有很多资源可以搜到&#xff0c;这里直接进入正题&#xff0c;如果是个人开发者&#xff0c;这里建议使用测试号进行开发学习&#xff0c;测…

微信公众号开发相关流程及功能介绍

1. 开发前准备 1.1 注册微信公众平台账号 进入的网址&#xff1a;https://mp.weixin.qq.com。 测试号&#xff08;网址&#xff1a;https://mp.weixin.qq.com/debug/cgi-bin/sandbox?tsandbox/login&#xff09;&#xff0c;用户在开发之前可以通过测试号快速测试开发&#…