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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java dsl框架_Spring Boot整合QueryDSL的实现示例

發布時間:2023/12/20 javascript 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的实现示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。