国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

做海報(bào)可以在哪些網(wǎng)站下載素材萊陽(yáng)seo外包

做海報(bào)可以在哪些網(wǎng)站下載素材,萊陽(yáng)seo外包,360可以做網(wǎng)站,網(wǎng)站開(kāi)發(fā)濟(jì)南文章目錄 一、Spring Data JPA 簡(jiǎn)介二、Spring Data JPA 與 MyBatis Plus 比較設(shè)計(jì)哲學(xué)和抽象層次SQL 控制學(xué)習(xí)曲線和技術(shù)要求性能與優(yōu)化綜合考慮 三、SpringDataJpa實(shí)戰(zhàn)演練1. 創(chuàng)建user表2. 搭建Spring Boot開(kāi)發(fā)環(huán)境3. pom.xml文件內(nèi)容4. application.yml文件內(nèi)容5. Applicati…

文章目錄

  • 一、Spring Data JPA 簡(jiǎn)介
  • 二、Spring Data JPA 與 MyBatis Plus 比較
    • 設(shè)計(jì)哲學(xué)和抽象層次
    • SQL 控制
    • 學(xué)習(xí)曲線和技術(shù)要求
    • 性能與優(yōu)化
    • 綜合考慮
  • 三、SpringDataJpa實(shí)戰(zhàn)演練
    • 1. 創(chuàng)建user表
    • 2. 搭建Spring Boot開(kāi)發(fā)環(huán)境
    • 3. pom.xml文件內(nèi)容
    • 4. application.yml文件內(nèi)容
    • 5. Application.java
    • 6. Result.java
    • 7. User.java
    • 8. UserRepository.java
    • 9. UserService.java
    • 10. UserController.java


一、Spring Data JPA 簡(jiǎn)介

Spring Data JPA 是 Spring 框架中的一個(gè)模塊,它旨在簡(jiǎn)化 Java Persistence API (JPA) 的使用,進(jìn)而簡(jiǎn)化數(shù)據(jù)訪問(wèn)層的開(kāi)發(fā)。JPA 是 Java 平臺(tái)上用于管理關(guān)系數(shù)據(jù)庫(kù)的對(duì)象關(guān)系映射(ORM)的標(biāo)準(zhǔn)。而 Spring Data JPA 在此基礎(chǔ)之上提供了額外的抽象層,允許開(kāi)發(fā)者以更簡(jiǎn)潔的方式編寫數(shù)據(jù)訪問(wèn)代碼,無(wú)需手動(dòng)編寫大量的實(shí)現(xiàn)代碼。

核心特點(diǎn)包括:

  1. 簡(jiǎn)化 CRUD 操作:通過(guò)繼承 JpaRepository 或其他 Spring Data 提供的接口,你可以直接在自定義的 Repository 接口中聲明方法,而無(wú)需編寫實(shí)現(xiàn)。Spring Data JPA 會(huì)根據(jù)方法名自動(dòng)生成查詢語(yǔ)句。

  2. 方法命名查詢:依據(jù)一定的命名規(guī)則,Spring Data JPA 能夠根據(jù) Repository 接口中的方法名稱自動(dòng)生成 SQL 或 HQL 查詢語(yǔ)句,例如 findByUsernameAndPassword 會(huì)自動(dòng)轉(zhuǎn)換為尋找匹配用戶名和密碼的查詢。

  3. 查詢DSL:除了方法命名查詢,它還提供了強(qiáng)大的查詢dsl(領(lǐng)域特定語(yǔ)言),允許構(gòu)建類型安全的復(fù)雜查詢。

  4. 分頁(yè)與排序:輕松實(shí)現(xiàn)數(shù)據(jù)的分頁(yè)查詢和排序功能。

  5. 事務(wù)管理:集成 Spring 的事務(wù)管理,使得數(shù)據(jù)操作更加安全可靠。

  6. 動(dòng)態(tài)查詢:支持 Criteria API 和 Specifications,可以構(gòu)建復(fù)雜的動(dòng)態(tài)查詢條件。

  7. 減少樣板代碼:大量減少了傳統(tǒng) JPA 開(kāi)發(fā)中需要編寫的 DAO 層實(shí)現(xiàn)代碼,提高開(kāi)發(fā)效率。

  8. 擴(kuò)展性:雖然提供了很多開(kāi)箱即用的功能,但同時(shí)也允許開(kāi)發(fā)者自定義查詢邏輯,保持了高度的靈活性。

通過(guò)這些特性,Spring Data JPA 成為了快速開(kāi)發(fā) Java 應(yīng)用,特別是那些需要與關(guān)系型數(shù)據(jù)庫(kù)交互的應(yīng)用的首選框架之一。開(kāi)發(fā)者只需關(guān)注業(yè)務(wù)邏輯,而不必過(guò)多擔(dān)憂數(shù)據(jù)訪問(wèn)層的細(xì)節(jié)。


二、Spring Data JPA 與 MyBatis Plus 比較

Spring Data JPA 和 MyBatis Plus 是兩種不同的持久層框架,它們各有特色,適用于不同場(chǎng)景和需求。以下是它們之間的一些關(guān)鍵區(qū)別:

設(shè)計(jì)哲學(xué)和抽象層次

  • Spring Data JPA 基于 JPA 規(guī)范,提供了高度抽象的數(shù)據(jù)訪問(wèn)層,允許開(kāi)發(fā)者以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(kù),減少了直接編寫 SQL 的需要。它通過(guò)方法命名約定來(lái)自動(dòng)生成查詢,支持實(shí)體映射和事務(wù)管理,更適合那些希望快速開(kāi)發(fā)、遵循 Java EE 標(biāo)準(zhǔn)且偏好 ORM(對(duì)象關(guān)系映射)的項(xiàng)目。

  • MyBatis Plus 則是對(duì) MyBatis 的增強(qiáng),它依然保留了 MyBatis 手動(dòng)編寫 SQL 的靈活性,同時(shí)加入了許多開(kāi)箱即用的功能,如常見(jiàn)的 CRUD 操作、分頁(yè)、性能優(yōu)化等。MyBatis Plus 更加適合需要高度定制 SQL 查詢、對(duì)性能有嚴(yán)格要求或者需要直接控制 SQL 執(zhí)行的場(chǎng)景。

SQL 控制

  • Spring Data JPA 主要通過(guò)方法命名約定來(lái)自動(dòng)生成 SQL,雖然也支持 @Query 注解來(lái)自定義 SQL,但其強(qiáng)項(xiàng)在于無(wú)須編寫 SQL 即可完成大部分 CRUD 操作。

  • MyBatis Plus 支持 SQL 的完全自定義,這為開(kāi)發(fā)者提供了更大的靈活性,特別是在處理復(fù)雜的聯(lián)表查詢和性能優(yōu)化時(shí)更為明顯。它還提供了 MapKey 注解等特性,便于在多表關(guān)聯(lián)查詢中進(jìn)行數(shù)據(jù)關(guān)聯(lián)。

學(xué)習(xí)曲線和技術(shù)要求

  • Spring Data JPA 因其高度抽象,初學(xué)者可能更容易上手,但深入理解和調(diào)試 ORM 映射問(wèn)題可能需要更多專業(yè)知識(shí)。

  • MyBatis Plus 雖然需要手動(dòng)編寫 SQL,但對(duì) SQL 較熟悉的開(kāi)發(fā)者可能會(huì)覺(jué)得這種方式更直接、可控,學(xué)習(xí)成本相對(duì)較低,尤其是在已有 MyBatis 使用經(jīng)驗(yàn)的基礎(chǔ)上。

性能與優(yōu)化

  • Spring Data JPA(及底層的 Hibernate)由于其抽象層次較高,可能會(huì)在某些簡(jiǎn)單查詢上略遜于直接編寫 SQL 的框架。但它提供了緩存管理、延遲加載等特性,對(duì)提高整體應(yīng)用性能有幫助。

  • MyBatis Plus 直接控制 SQL,因此在查詢優(yōu)化和性能調(diào)優(yōu)上有更多空間,特別是對(duì)于復(fù)雜的查詢場(chǎng)景,能夠通過(guò)精確控制 SQL 來(lái)達(dá)到更好的性能。

綜合考慮

選擇 Spring Data JPA 還是 MyBatis Plus,通常取決于項(xiàng)目的需求、團(tuán)隊(duì)的技術(shù)棧偏好以及對(duì) SQL 控制的需求程度。如果項(xiàng)目追求快速開(kāi)發(fā)、代碼的簡(jiǎn)潔性,且對(duì) SQL 的直接控制需求不高,Spring Data JPA 是個(gè)不錯(cuò)的選擇。相反,如果項(xiàng)目需要復(fù)雜的 SQL 查詢、高度的性能優(yōu)化,或者團(tuán)隊(duì)更傾向于 SQL 的直接操控,MyBatis Plus 可能更加合適。在實(shí)際應(yīng)用中,兩者并非互斥,根據(jù)具體模塊的需求混合使用也是常見(jiàn)做法。


三、SpringDataJpa實(shí)戰(zhàn)演練

1. 創(chuàng)建user表

CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,`age` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=130 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

2. 搭建Spring Boot開(kāi)發(fā)環(huán)境

目錄結(jié)構(gòu)如下:

springboot-template-jpa
│  pom.xml
│  springboot-template-jpa.iml
│
├─src
│  └─main
│      ├─java
│      │  └─com
│      │      └─zcs
│      │          │  Application.java
│      │          │
│      │          ├─common
│      │          │      Result.java
│      │          │
│      │          ├─config
│      │          ├─controller
│      │          │      UserController.java
│      │          │
│      │          ├─domain
│      │          ├─entity
│      │          │      User.java
│      │          │
│      │          ├─mapper
│      │          ├─repository
│      │          │      UserRepository.java
│      │          │
│      │          ├─service
│      │          │      UserService.java
│      │          │
│      │          └─utils
│      └─resources
│              application.yml

3. pom.xml文件內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.15</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.zcs</groupId><artifactId>springboot-template-jpa</artifactId><version>1.0.0</version><name>springboot-template</name><description>springboot-template</description><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><!-- 引入Spring Boot Actuator的起步依賴,用于監(jiān)控和管理生產(chǎn)環(huán)境中的應(yīng)用程序 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>4.3.0</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.3.1</version></dependency><!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng),例如MySQL --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version><scope>runtime</scope></dependency><!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 --><dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>21.5.0.0</version></dependency><!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc --><dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>9.4.1.jre8</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- Spring Boot Starter Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.0</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.7</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter-test</artifactId><version>2.3.1</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

4. application.yml文件內(nèi)容

server:port: 8090
---
spring:web:resources:static-locations: classpath:/static/datasource:dynamic:primary: master # 設(shè)置默認(rèn)數(shù)據(jù)源strict: false # 設(shè)置嚴(yán)格模式,true則未匹配到數(shù)據(jù)源時(shí)拋異常,false則使用默認(rèn)數(shù)據(jù)源datasource:master: # 池名稱url: jdbc:mysql://192.168.145.103:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8username: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverdruid:validation-query: "select 1"
---
mybatis:configuration:map-underscore-to-camel-case: true
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
---
# 開(kāi)啟所有Actuator的端點(diǎn)暴露,以便可以通過(guò)HTTP進(jìn)行訪問(wèn)
management:endpoints:web:exposure:include: "*"# 配置健康端點(diǎn)的詳細(xì)程度,always表示總是顯示完整的健康信息endpoint:health:show-details: always

5. Application.java

package com.zcs;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

6. Result.java

package com.zcs.common;import lombok.Data;@Data
public class Result<T> {private int code;private int success;private String msg;private T data;public Result(int code, String msg, int success) {this.code = code;this.msg = msg;this.success = success;}public Result(int code, String msg, int success, T data) {this.code = code;this.msg = msg;this.success = success;this.data = data;}public static <T> Result<T> success() {return new Result<>(200, "", 0);}public static <T> Result<T> success(String msg) {return new Result<>(200, msg, 0);}public static <T> Result<T> success(String msg, T data) {return new Result<>(200, msg, 0, data);}public static <T> Result<T> error(int code, String message) {return new Result<>(code, message, -1);}public static <T> Result<T> error(int code, String message, T data) {return new Result<>(code, message, -1, data);}
}

7. User.java

package com.zcs.entity;import lombok.Data;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;@Data
@Entity
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;private String name;private Integer age;
}

8. UserRepository.java

package com.zcs.repository;import com.zcs.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Mapper
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {@Select("SELECT * FROM user WHERE id = #{id}")User getUserById(Integer id);}

9. UserService.java

package com.zcs.service;import com.zcs.entity.User;
import com.zcs.repository.UserRepository;
import org.springframework.data.domain.*;
import org.springframework.data.repository.query.FluentQuery;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
import java.nio.file.DirectoryStream;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;@Service
public class UserService {@Resourceprivate UserRepository userRepository;public List<User> getAllUsers() {return userRepository.findAll();}public List<User> getAllUsersByIds(List<Integer> ids) {return userRepository.findAllById(ids);}public User getUserById(Integer id) {return userRepository.getUserById(id);}public User insertOrUpdateUser(User user) {return userRepository.save(user);}public User insertOrUpdateAndFlushUser(User user) {return userRepository.saveAndFlush(user);}public String deleteById(Integer id) {boolean b = userRepository.existsById(id);if (b) {userRepository.deleteById(id);return "數(shù)據(jù)刪除成功";}return "要?jiǎng)h除的數(shù)據(jù)不存在";}public boolean existsById(Integer id) {return userRepository.existsById(id);}public Optional<User> findOne(String name) {User probeUser = new User(); // 假設(shè)User類有name屬性probeUser.setName(name); // 設(shè)置你想查詢的名字// 創(chuàng)建一個(gè)ExampleMatcher來(lái)定義匹配規(guī)則,例如忽略大小寫等ExampleMatcher matcher = ExampleMatcher.matching().withIgnoreCase() // 忽略屬性比較時(shí)的大小寫.withStringMatcher(ExampleMatcher.StringMatcher.EXACT); // 使用"contains"方式匹配字符串// 創(chuàng)建Example實(shí)例Example<User> example = Example.of(probeUser, matcher);Function<FluentQuery.FetchableFluentQuery<User>, Optional<User>> one = FluentQuery.FetchableFluentQuery::first;// 使用findOne方法根據(jù)example查詢return userRepository.findBy(example, one);}public Optional<User> getUserByName(String name) {User probeUser = new User(); // 假設(shè)User類有name屬性probeUser.setName(name); // 設(shè)置你想查詢的名字ExampleMatcher matcher = ExampleMatcher.matching().withIgnoreCase() // 忽略大小寫匹配.withStringMatcher(ExampleMatcher.StringMatcher.EXACT); // 精確匹配Example<User> example = Example.of(probeUser, matcher);Function<FluentQuery.FetchableFluentQuery<User>, Optional<User>> queryFunction = FluentQuery.FetchableFluentQuery::first;return userRepository.findBy(example, queryFunction);}public List<User> getAllUserByName(String name) {User probeUser = new User(); // 假設(shè)User類有name屬性probeUser.setName(name); // 設(shè)置你想查詢的名字ExampleMatcher matcher = ExampleMatcher.matching().withIgnoreCase() // 忽略大小寫匹配.withStringMatcher(ExampleMatcher.StringMatcher.EXACT); // 精確匹配Example<User> example = Example.of(probeUser, matcher);Function<FluentQuery.FetchableFluentQuery<User>, List<User>> all = FluentQuery.FetchableFluentQuery::all;return userRepository.findBy(example, all);}public List<User> getAllUserByNameAndAge(String name, Integer age) {User probeUser = new User(); // 假設(shè)User類有name屬性probeUser.setName(name); // 設(shè)置你想查詢的名字probeUser.setAge(age); // 設(shè)置你想查詢的名字ExampleMatcher matcher = ExampleMatcher.matching().withIgnoreCase() // 忽略大小寫匹配.withStringMatcher(ExampleMatcher.StringMatcher.EXACT); // 精確匹配Example<User> example = Example.of(probeUser, matcher);// Function<FluentQuery.FetchableFluentQuery<User>, Optional<User>> queryFunction = query -> query.one();Function<FluentQuery.FetchableFluentQuery<User>, List<User>> all = FluentQuery.FetchableFluentQuery::all;// Function<FluentQuery.FetchableFluentQuery<User>, Stream<User>> stream = FluentQuery.FetchableFluentQuery::stream;return userRepository.findBy(example, all);}public Page<User> getUsers(int pageNumber, int pageSize) {// 創(chuàng)建Pageable對(duì)象,參數(shù)分別是頁(yè)碼(從0開(kāi)始)和頁(yè)面大小Pageable pageable = PageRequest.of(pageNumber, pageSize);// 調(diào)用findAll方法傳入Pageable對(duì)象進(jìn)行分頁(yè)查詢return userRepository.findAll(pageable);}
}

10. UserController.java

package com.zcs.controller;import com.zcs.common.Result;
import com.zcs.entity.User;
import com.zcs.repository.UserRepository;
import com.zcs.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;
import java.util.List;
import java.util.Optional;@Slf4j
@RestController
@RequestMapping("/users")
public class UserController {@Resourceprivate UserRepository userRepository;@Resourceprivate UserService userService;@GetMappingpublic List<User> getAllUsers() {return userService.getAllUsers();}// 根據(jù)id查詢user@GetMapping("/{id}")public Result<User> getById(@PathVariable Integer id) {User user = userRepository.findById(id).get();return Result.success("success", user);}// 查詢user表的行數(shù)@GetMapping("/count")public Result<Long> count() {long count = userRepository.count();return Result.success("success", count);}// 根據(jù)name查詢匹配到的第一條數(shù)據(jù)@GetMapping("/findOne")public Result<Optional<User>> findOne(@RequestParam String name) {Optional<User> userServiceOne = userService.findOne(name);return Result.success("success", userServiceOne);}// 根據(jù)id列表(用逗號(hào)分隔)查詢user@GetMapping("/ids/{ids}")public Result<List<User>> getAllUsersByIds(@PathVariable List<Integer> ids) {List<User> allUsersByIds = userService.getAllUsersByIds(ids);return Result.success("success", allUsersByIds);}// 根據(jù)id查詢user@GetMapping("/id/{id}")public Result<User> getUserById(@PathVariable Integer id) {User userById = userService.getUserById(id);return Result.success("success", userById);}// 根據(jù)name查詢user匹配到的第一個(gè)數(shù)據(jù)@GetMapping("/getUserByName")public Result<Optional<User>> getUserByName(@RequestParam String name) {Optional<User> userByName = userService.getUserByName(name);return Result.success("success", userByName);}// 根據(jù)name查詢匹配到的所有user@GetMapping("/getAllUserByName")public Result<List<User>> getAllUserByName(@RequestParam String name) {List<User> allUserByName = userService.getAllUserByName(name);return Result.success("success", allUserByName);}// 根據(jù)name和age查詢匹配到的所有user@GetMapping("/getAllUserByNameAndAge")public Result<List<User>> getAllUserByNameAndAge(@RequestParam String name, @RequestParam Integer age) {List<User> allUserByName = userService.getAllUserByNameAndAge(name, age);return Result.success("success", allUserByName);}// 根據(jù)id查詢數(shù)據(jù)是否存在@GetMapping("/exists/{id}")public Result<Boolean> existsById(@PathVariable Integer id) {boolean b = userService.existsById(id);return Result.success("success", b);}// 插入或更新user@PostMappingpublic Result<User> insertOrUpdateUser(@RequestBody User user) {User user1 = userService.insertOrUpdateUser(user);return Result.success("success", user1);}// 插入或更新user,且刷新@PutMappingpublic Result<User> insertOrUpdateAndFlushUser(@RequestBody User user) {User user1 = userService.insertOrUpdateAndFlushUser(user);return Result.success("success", user1);}// 根據(jù)id刪除數(shù)據(jù)@DeleteMapping("/{id}")public Result<String> deleteById(@PathVariable Integer id) {String string = userService.deleteById(id);return Result.success("success", string);}// 分頁(yè)查詢@GetMapping("/page")public Result<Page<User>> getUsersByPage(@RequestParam int pageNumber, @RequestParam(defaultValue = "10") int pageSize) {Page<User> users = userService.getUsers(pageNumber, pageSize);return Result.success("success", users);}}
http://aloenet.com.cn/news/31925.html

相關(guān)文章:

  • 廣東品牌網(wǎng)站設(shè)計(jì)專家百度云網(wǎng)盤網(wǎng)頁(yè)版
  • 設(shè)計(jì)大神云集的網(wǎng)站是網(wǎng)絡(luò)推廣方法怎么樣
  • 怎樣增加網(wǎng)站收錄量谷歌瀏覽器引擎入口
  • 展示類網(wǎng)站建設(shè)qianhu微建站
  • 點(diǎn)網(wǎng)站出圖片怎么做網(wǎng)站開(kāi)發(fā)培訓(xùn)
  • 沈陽(yáng)網(wǎng)站建設(shè)培訓(xùn)學(xué)校怎么建網(wǎng)站教程圖解
  • 大型網(wǎng)站seo方案長(zhǎng)沙網(wǎng)站推廣seo
  • 百度上做網(wǎng)站免費(fèi)嗎品牌運(yùn)營(yíng)策劃方案
  • 邢臺(tái)人才網(wǎng)官網(wǎng)首頁(yè)下載優(yōu)化大師
  • dw網(wǎng)站建設(shè)流程游戲搜索風(fēng)云榜
  • dreamwave cs6建設(shè)php網(wǎng)站十大成功營(yíng)銷策劃案例
  • 保定網(wǎng)站排名優(yōu)化直通車關(guān)鍵詞優(yōu)化
  • wordpress 送錢啦濟(jì)南網(wǎng)站優(yōu)化排名推廣
  • 鹽城做百度網(wǎng)站百度推廣服務(wù)費(fèi)3000元
  • 哪里有網(wǎng)站開(kāi)發(fā)設(shè)計(jì)文章優(yōu)化關(guān)鍵詞排名
  • 做好網(wǎng)站建設(shè)通知seo行業(yè)崗位
  • 單頁(yè)面組合網(wǎng)站seo關(guān)鍵詞布局技巧
  • 公司官網(wǎng)站怎么搞南平seo
  • 找人做網(wǎng)站設(shè)計(jì) 哪個(gè)平臺(tái)可以找萬(wàn)能的搜索引擎
  • 如何在本地搭建網(wǎng)站什么網(wǎng)站百度收錄快
  • wordpress章節(jié)分頁(yè)云浮seo
  • 網(wǎng)站頁(yè)面由什么構(gòu)成百度seo關(guān)鍵詞優(yōu)化公司
  • WordPress數(shù)據(jù)庫(kù)文章優(yōu)化大師客服電話
  • 優(yōu)化系統(tǒng)設(shè)置深圳網(wǎng)站建設(shè)推廣優(yōu)化公司
  • 坪山網(wǎng)站建設(shè)基本流程揭陽(yáng)新站seo方案
  • 建設(shè)銀行網(wǎng)站怎么登陸不了了寧波網(wǎng)站排名優(yōu)化seo
  • 南平 建網(wǎng)站搜索引擎有哪些
  • mac能用vs做網(wǎng)站嗎百度收錄域名
  • 網(wǎng)站建設(shè)冒用身份信息什么是網(wǎng)絡(luò)推廣
  • 商業(yè)網(wǎng)站制作5188關(guān)鍵詞挖掘