當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)
生活随笔
收集整理的這篇文章主要介紹了
Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 QueryDSL
????????QueryDSL僅僅是一個(gè)通用的查詢框架,專注于通過Java API構(gòu)建類型安全的SQL查詢。
????????Querydsl可以通過一組通用的查詢API為用戶構(gòu)建出適合不同類型ORM框架或者是SQL的查詢語(yǔ)句,也就是說QueryDSL是基于各種ORM框架以及SQL之上的一個(gè)通用的查詢框架。
????????借助QueryDSL可以在任何支持的ORM框架或者SQL平臺(tái)上以一種通用的API方式來構(gòu)建查詢。目前QueryDSL支持的平臺(tái)包括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數(shù)據(jù)庫(kù) 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 = mysql5?UserEntity
用戶信息實(shí)體類。
package com.entity;import lombok.Data;import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table;/*** 用戶信息實(shí)體類*/ @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查詢實(shí)體類
6.1?配置項(xiàng)目的maven命令
第一步,點(diǎn)擊Run->Edit Configurations,進(jìn)入Run/Debug Configurations窗口。
第二步, 點(diǎn)擊+號(hào),再點(diǎn)擊Maven,生成一條Maven配置。
?
第三步,在Comand line 輸入 compile,點(diǎn)擊Apply。
6.2 生成Query查詢實(shí)體類
第一步,點(diǎn)擊運(yùn)行按鈕,生成Query查詢實(shí)體類。
?
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 調(diào)試代碼
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) {//查詢實(shí)體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 調(diào)試結(jié)果
9.1 查詢數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 郝斌数据结构与算法自学视频教程
- 下一篇: Qt5配置opencv4.5.4