日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

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

發(fā)布時間:2023/12/20 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot配置QueryDSL(生成Query查询实体类,查询数据) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 QueryDSL

????????QueryDSL僅僅是一個通用的查詢框架,專注于通過Java API構(gòu)建類型安全的SQL查詢。

????????Querydsl可以通過一組通用的查詢API為用戶構(gòu)建出適合不同類型ORM框架或者是SQL的查詢語句,也就是說QueryDSL是基于各種ORM框架以及SQL之上的一個通用的查詢框架。

????????借助QueryDSL可以在任何支持的ORM框架或者SQL平臺上以一種通用的API方式來構(gòu)建查詢。目前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數(shù)據(jù)庫 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,進(jìn)入Run/Debug Configurations窗口。

第二步, 點擊+號,再點擊Maven,生成一條Maven配置。

?

第三步,在Comand line 輸入 compile,點擊Apply。

6.2 生成Query查詢實體類

第一步,點擊運(yùn)行按鈕,生成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 調(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) {//查詢實體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查询实体类,查询数据)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。