目录
- 一、前置
- 1、IDEA创建SpringBoot项目
- 2、基础设置、配置
- 二、JPA查询数据
- 1、配置SQL server连接
- 2、创建实体类
- QueryEntity.java
- 生成`Getter and Setter`
- 3、创建Repository接口
- QueryRepository.java
- 4、创建Service服务类
- QueryService.java
- 5、创建Controller控制器类
- QueryController.java
- 6、测试
- 运行项目
- 访问接口
一、前置
1、IDEA创建SpringBoot项目
- 选择
spring Initializr
,输入项目名,选择项目路径等,最后点击Next
- 勾选
Spring Web
- 勾选需要使用的数据库驱动,本次demo中使用的是
SQL server
数据库,故选择SQL server Driver
- 选择完后,点击
Create
2、基础设置、配置
- 项目创建完成并打开后,按需配置项目Maven
- 设置
Maven
- 设置完成后等待加载完成
二、JPA查询数据
- 在项目中分别创建好以下包及文件
1、配置SQL server连接
- 找到
application.properties
文件,配置SQL Server 数据库连接
# 应用服务 WEB 访问端口
server.port=8080
spring.datasource.url=jdbc:sqlserver://IP:端口号;databaseName=数据库名
spring.datasource.username=数据库连接用户名
spring.datasource.password=数据库连接密码
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
2、创建实体类
QueryEntity.java
package com.example.Entity;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "tb") // 数据表名
public class QueryEntity {
@Id
// 主键字段
private Long CID;
private String CUSTOMER_ITEM_CODE;
private String CUSTOMER_ITEM_NAME;
private String ACTUAL_INVENTORY_QTY;
public Long getCID() {
return CID;
}
public void setCID(Long CID) {
this.CID = CID;
}
public String getCUSTOMER_ITEM_CODE() {
return CUSTOMER_ITEM_CODE;
}
public void setCUSTOMER_ITEM_CODE(String CUSTOMER_ITEM_CODE) {
this.CUSTOMER_ITEM_CODE = CUSTOMER_ITEM_CODE;
}
public String getCUSTOMER_ITEM_NAME() {
return CUSTOMER_ITEM_NAME;
}
public void setCUSTOMER_ITEM_NAME(String CUSTOMER_ITEM_NAME) {
this.CUSTOMER_ITEM_NAME = CUSTOMER_ITEM_NAME;
}
public String getACTUAL_INVENTORY_QTY() {
return ACTUAL_INVENTORY_QTY;
}
public void setACTUAL_INVENTORY_QTY(String ACTUAL_INVENTORY_QTY) {
this.ACTUAL_INVENTORY_QTY = ACTUAL_INVENTORY_QTY;
}
@Override
public String toString() {
return "QueryEntity{" +
"CID=" + CID +
", CUSTOMER_ITEM_CODE='" + CUSTOMER_ITEM_CODE + '\'' +
", CUSTOMER_ITEM_NAME='" + CUSTOMER_ITEM_NAME + '\'' +
", ACTUAL_INVENTORY_QTY='" + ACTUAL_INVENTORY_QTY + '\'' +
'}';
}
}
生成Getter and Setter
- 生成
toString()
3、创建Repository接口
- 用于处理数据库操作
QueryRepository.java
- 创建时选择
Interface
package com.example.Repository;
import com.example.Entity.QueryEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface QueryRepository extends JpaRepository<QueryEntity, Long> {
// 使用方法名查询所有数据
List<QueryEntity> findAll();
// 使用 JPQL 自定义查询
@Query(value = "SELECT CUSTOMER_ITEM_CODE, CUSTOMER_ITEM_NAME, ACTUAL_INVENTORY_QTY FROM [dbo].[tb]", nativeQuery = true)
List<QueryEntity> findAllByAll();
}
4、创建Service服务类
- 用于处理业务逻辑
QueryService.java
package com.example.Service;
import com.example.Entity.QueryEntity;
import com.example.Repository.QueryRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class QueryService {
@Autowired
private QueryRepository queryRepository;
public List<QueryEntity> getAllSCHubRecords() {
return queryRepository.findAll();
}
}
5、创建Controller控制器类
- 用于处理 HTTP 请求
QueryController.java
package com.example.Controller;
import com.example.Entity.QueryEntity;
import com.example.Service.QueryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
//定义接口
@RequestMapping("/api/schub")
public class QueryController {
@Autowired
private QueryService queryService;
//查询所有数据
@GetMapping
public List<QueryEntity> getAllSCHubRecords() {
return queryService.getAllSCHubRecords();
}
}
6、测试
运行项目
访问接口
http://localhost:8080/api/schub