国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析

這篇具有很好參考價(jià)值的文章主要介紹了Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

3. 員工管理

完成了部門管理的功能開發(fā)之后,我們進(jìn)入到下一環(huán)節(jié)員工管理功能的開發(fā)。

Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析,Web,mybatis,mysql,spring,spring boot,java

基于以上原型,我們可以把員工管理功能分為:

  1. 分頁查詢(今天完成)

  2. 帶條件的分頁查詢(今天完成)

  3. 刪除員工(今天完成)

  4. 新增員工(后續(xù)完成)

  5. 修改員工(后續(xù)完成)

那下面我們就先從分頁查詢功能開始學(xué)習(xí)。

3.1 分頁查詢

3.1.1 基礎(chǔ)分頁
3.1.1.1 需求分析

我們之前做的查詢功能,是將數(shù)據(jù)庫中所有的數(shù)據(jù)查詢出來并展示到頁面上,試想如果數(shù)據(jù)庫中的數(shù)據(jù)有很多(假設(shè)有十幾萬條)的時(shí)候,將數(shù)據(jù)全部展示出來肯定不現(xiàn)實(shí),那如何解決這個(gè)問題呢?

使用分頁解決這個(gè)問題。每次只展示一頁的數(shù)據(jù),比如:一頁展示10條數(shù)據(jù),如果還想看其他的數(shù)據(jù),可以通過點(diǎn)擊頁碼進(jìn)行查詢。

Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析,Web,mybatis,mysql,spring,spring boot,java

要想從數(shù)據(jù)庫中進(jìn)行分頁查詢,我們要使用LIMIT關(guān)鍵字,格式為:limit 開始索引 每頁顯示的條數(shù)

查詢第1頁數(shù)據(jù)的SQL語句是:

select * from emp  limit 0,10;

查詢第2頁數(shù)據(jù)的SQL語句是:

select * from emp  limit 10,10;

查詢第3頁的數(shù)據(jù)的SQL語句是:

select * from emp  limit 20,10;

觀察以上SQL語句,發(fā)現(xiàn): 開始索引一直在改變 , 每頁顯示條數(shù)是固定的

開始索引的計(jì)算公式: 開始索引 = (當(dāng)前頁碼 - 1) * 每頁顯示條數(shù)

我們繼續(xù)基于頁面原型,繼續(xù)分析,得出以下結(jié)論:

  1. 前端在請(qǐng)求服務(wù)端時(shí),傳遞的參數(shù)

    • 當(dāng)前頁碼 page

    • 每頁顯示條數(shù) pageSize

  2. 后端需要響應(yīng)什么數(shù)據(jù)給前端

    • 所查詢到的數(shù)據(jù)列表(存儲(chǔ)到List 集合中)

    • 總記錄數(shù)

    • Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析,Web,mybatis,mysql,spring,spring boot,java

后臺(tái)給前端返回的數(shù)據(jù)包含:List集合(數(shù)據(jù)列表)、total(總記錄數(shù))

而這兩部分我們通常封裝到PageBean對(duì)象中,并將該對(duì)象轉(zhuǎn)換為json格式的數(shù)據(jù)響應(yīng)回給瀏覽器。

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean {
private Long total; //總記錄數(shù)
private List rows; //當(dāng)前頁數(shù)據(jù)列表
}
3.1.1.2 接口文檔

員工列表查詢

  • 基本信息

    請(qǐng)求路徑:/emps
    ?
    請(qǐng)求方式:GET
    ?
    接口描述:該接口用于員工列表數(shù)據(jù)的條件分頁查詢
  • 請(qǐng)求參數(shù)

    參數(shù)格式:queryString

    參數(shù)說明:

    參數(shù)名稱 是否必須 示例 備注
    name 姓名
    gender 1 性別 , 1 男 , 2 女
    begin 2010-01-01 范圍匹配的開始時(shí)間(入職日期)
    end 2020-01-01 范圍匹配的結(jié)束時(shí)間(入職日期)
    page 1 分頁查詢的頁碼,如果未指定,默認(rèn)為1
    pageSize 10 分頁查詢的每頁記錄數(shù),如果未指定,默認(rèn)為10

    請(qǐng)求數(shù)據(jù)樣例:

    /emps?name=張&gender=1&begin=2007-09-01&end=2022-09-01&page=1&pageSize=10
  • 響應(yīng)數(shù)據(jù)

    參數(shù)格式:application/json

    參數(shù)說明:

    名稱 類型 是否必須 默認(rèn)值 備注 其他信息
    code number 必須 響應(yīng)碼, 1 成功 , 0 失敗
    msg string 非必須 提示信息
    data object 必須 返回的數(shù)據(jù)
    |- total number 必須 總記錄數(shù)
    |- rows object [] 必須 數(shù)據(jù)列表 item 類型: object
    |- id number 非必須 id
    |- username string 非必須 用戶名
    |- name string 非必須 姓名
    |- password string 非必須 密碼
    |- entrydate string 非必須 入職日期
    |- gender number 非必須 性別 , 1 男 ; 2 女
    |- image string 非必須 圖像
    |- job number 非必須 職位, 說明: 1 班主任,2 講師, 3 學(xué)工主管, 4 教研主管, 5 咨詢師
    |- deptId number 非必須 部門id
    |- createTime string 非必須 創(chuàng)建時(shí)間
    |- updateTime string 非必須 更新時(shí)間

    響應(yīng)數(shù)據(jù)樣例:

    {
     ?"code": 1,
     ?"msg": "success",
     ?"data": {
     ? ?"total": 2,
     ? ?"rows": [
     ? ? ? {
     ? ? ? ?"id": 1,
     ? ? ? ?"username": "jinyong",
     ? ? ? ?"password": "123456",
     ? ? ? ?"name": "金庸",
     ? ? ? ?"gender": 1,
     ? ? ? ?"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
     ? ? ? ?"job": 2,
     ? ? ? ?"entrydate": "2015-01-01",
     ? ? ? ?"deptId": 2,
     ? ? ? ?"createTime": "2022-09-01T23:06:30",
     ? ? ? ?"updateTime": "2022-09-02T00:29:04"
     ? ?  },
     ? ?  {
     ? ? ? ?"id": 2,
     ? ? ? ?"username": "zhangwuji",
     ? ? ? ?"password": "123456",
     ? ? ? ?"name": "張無忌",
     ? ? ? ?"gender": 1,
     ? ? ? ?"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
     ? ? ? ?"job": 2,
     ? ? ? ?"entrydate": "2015-01-01",
     ? ? ? ?"deptId": 2,
     ? ? ? ?"createTime": "2022-09-01T23:06:30",
     ? ? ? ?"updateTime": "2022-09-02T00:29:04"
     ? ?  }
     ?  ]
      }
    }
3.1.1.3 思路分析

Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析,Web,mybatis,mysql,spring,spring boot,java

分頁查詢需要的數(shù)據(jù),封裝在PageBean對(duì)象中:

Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析,Web,mybatis,mysql,spring,spring boot,java

3.1.1.4 功能開發(fā)

通過查看接口文檔:員工列表查詢

請(qǐng)求路徑:/emps

請(qǐng)求方式:GET

請(qǐng)求參數(shù):跟隨在請(qǐng)求路徑后的參數(shù)字符串。 例:/emps?page=1&pageSize=10

響應(yīng)數(shù)據(jù):json格式

EmpController

import com.itheima.pojo.PageBean;
import com.itheima.pojo.Result;
import com.itheima.service.EmpService;
import lombok.extern.slf4j.Slf4j;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
?
@Slf4j
@RestController
@RequestMapping("/emps")
public class EmpController {
?
 ? ?@Autowired
 ? ?private EmpService empService;
?
 ? ?//條件分頁查詢
 ? ?@GetMapping
 ? ?public Result page(@RequestParam(defaultValue = "1") Integer page,
 ? ? ? ? ? ? ? ? ? ? ? @RequestParam(defaultValue = "10") Integer pageSize) {
 ? ? ? ?//記錄日志
 ? ? ? ?log.info("分頁查詢,參數(shù):{},{}", page, pageSize);
 ? ? ? ?//調(diào)用業(yè)務(wù)層分頁查詢功能
 ? ? ? ?PageBean pageBean = empService.page(page, pageSize);
 ? ? ? ?//響應(yīng)
 ? ? ? ?return Result.success(pageBean);
 ?  }
}

@RequestParam(defaultValue="默認(rèn)值") //設(shè)置請(qǐng)求參數(shù)默認(rèn)值

EmpService

public interface EmpService {
 ? ?/**
 ? ? * 條件分頁查詢
 ? ? * @param page 頁碼
 ? ? * @param pageSize 每頁展示記錄數(shù)
 ? ? * @return
 ? ? */
 ? ?PageBean page(Integer page, Integer pageSize);
}

EmpServiceImpl

import com.itheima.mapper.EmpMapper;
import com.itheima.pojo.Emp;
import com.itheima.pojo.PageBean;
import com.itheima.service.EmpService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.List;
?
@Slf4j
@Service
public class EmpServiceImpl implements EmpService {
 ? ?@Autowired
 ? ?private EmpMapper empMapper;
?
 ? ?@Override
 ? ?public PageBean page(Integer page, Integer pageSize) {
 ? ? ? ?//1、獲取總記錄數(shù)
 ? ? ? ?Long count = empMapper.count();
?
 ? ? ? ?//2、獲取分頁查詢結(jié)果列表
 ? ? ? ?Integer start = (page - 1) * pageSize; //計(jì)算起始索引 , 公式: (頁碼-1)*頁大小
 ? ? ? ?List<Emp> empList = empMapper.list(start, pageSize);
?
 ? ? ? ?//3、封裝PageBean對(duì)象
 ? ? ? ?PageBean pageBean = new PageBean(count , empList);
 ? ? ? ?return pageBean;
 ?  }
}

EmpMapper

@Mapper
public interface EmpMapper {
 ? ?//獲取總記錄數(shù)
 ? ?@Select("select count(*) from emp")
 ? ?public Long count();
?
 ? ?//獲取當(dāng)前頁的結(jié)果列表
 ? ?@Select("select * from emp limit #{start}, #{pageSize}")
 ? ?public List<Emp> list(Integer start, Integer pageSize);
}
3.1.1.5 功能測(cè)試

功能開發(fā)完成后,重新啟動(dòng)項(xiàng)目,使用postman,發(fā)起POST請(qǐng)求:

Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析,Web,mybatis,mysql,spring,spring boot,java

3.1.1.6 前后端聯(lián)調(diào)

打開瀏覽器,測(cè)試后端功能接口:

Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析,Web,mybatis,mysql,spring,spring boot,java文章來源地址http://www.zghlxwxcb.cn/news/detail-791848.html

到了這里,關(guān)于Javaweb之SpringBootWeb案例員工管理分頁查詢的詳細(xì)解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Javaweb之SpringBootWeb案例之切入點(diǎn)表達(dá)式的詳細(xì)解析

    Javaweb之SpringBootWeb案例之切入點(diǎn)表達(dá)式的詳細(xì)解析

    3.3 切入點(diǎn)表達(dá)式 從AOP的入門程序到現(xiàn)在,我們一直都在使用切入點(diǎn)表達(dá)式來描述切入點(diǎn)。下面我們就來詳細(xì)的介紹一下切入點(diǎn)表達(dá)式的具體寫法。 切入點(diǎn)表達(dá)式: 描述切入點(diǎn)方法的一種表達(dá)式 作用:主要用來決定項(xiàng)目中的哪些方法需要加入通知 常見形式: execution(……):

    2024年02月21日
    瀏覽(23)
  • javaweb項(xiàng)目案例:員工管理系統(tǒng)

    javaweb項(xiàng)目案例:員工管理系統(tǒng)

    使用Javaweb+MySQL實(shí)現(xiàn)一個(gè)員工管理系統(tǒng),能對(duì)員工進(jìn)行增刪改查,使用SSH框架開發(fā)。 manager(管理員表) employee(員工表) systeminfo(系統(tǒng)表) 使用SSH框架開發(fā),使用MySQL數(shù)據(jù)庫。 action:控制器包 dao:數(shù)據(jù)操作接口 dao.Impl:數(shù)據(jù)操作實(shí)現(xiàn)工具包 po:實(shí)體類包 service:服務(wù)包 ut

    2024年02月11日
    瀏覽(18)
  • 【JavaWeb后端開發(fā)-第六章(2)】SpringBootWeb案例

    【JavaWeb后端開發(fā)-第六章(2)】SpringBootWeb案例

    前面我們已經(jīng)實(shí)現(xiàn)了員工信息的條件分頁查詢以及刪除操作。 關(guān)于員工管理的功能,還有兩個(gè)需要實(shí)現(xiàn): ????? 新增員工 ????? 修改員工 ????首先我們先完成\\\"新增員工\\\"的功能開發(fā),再完成\\\"修改員工\\\"的功能開發(fā)。而在\\\"新增員工\\\"中,需要添加頭像,而頭像需

    2024年01月16日
    瀏覽(21)
  • 【JavaWeb后端開發(fā)-第六章(1)】SpringBootWeb案例

    【JavaWeb后端開發(fā)-第六章(1)】SpringBootWeb案例

    ???? 前面我們已經(jīng)講解了Web前端開發(fā)的基礎(chǔ)知識(shí),也講解了Web后端開發(fā)的基礎(chǔ)(HTTP協(xié)議、請(qǐng)求響應(yīng)),并且也講解了數(shù)據(jù)庫MySQL,以及通過Mybatis框架如何來完成數(shù)據(jù)庫的基本操作。 那接下來,我們就通過一個(gè)案例,來將前端開發(fā)、后端開發(fā)、數(shù)據(jù)庫整合起來。 而這個(gè)案例

    2024年02月02日
    瀏覽(19)
  • [JavaWeb]【九】web后端開發(fā)-SpringBootWeb案例(菜單)

    [JavaWeb]【九】web后端開發(fā)-SpringBootWeb案例(菜單)

    目錄 一、準(zhǔn)備工作 1.1 需求 1.2 環(huán)境搭建 1.2.1 準(zhǔn)備數(shù)據(jù)庫表? 1.2.2 創(chuàng)建springboot工程 1.2.3 配置application.properties 準(zhǔn)備對(duì)應(yīng)實(shí)體類? 1.2.3.1?application.properties ?1.2.3.2 實(shí)體類 ?1.2.3.2.1?Emp類 ?1.2.3.2.2?Dept類 1.2.4 準(zhǔn)備對(duì)應(yīng)的Mapper、Service(接口實(shí)現(xiàn)類)、Controller基礎(chǔ)結(jié)構(gòu) 1.2.4.1 Mapper

    2024年02月11日
    瀏覽(20)
  • 【JavaWeb后端開發(fā)-第六章(3)】SpringBootWeb案例—登錄認(rèn)證

    【JavaWeb后端開發(fā)-第六章(3)】SpringBootWeb案例—登錄認(rèn)證

    ????在前面的章節(jié)中,我們已經(jīng)實(shí)現(xiàn)了 部門管理 、 員工管理 的基本功能,但是大家會(huì)發(fā)現(xiàn),我們并沒有登錄,就直接訪問到了Tlias智能學(xué)習(xí)輔助系統(tǒng)的后臺(tái)。 這是不安全的,所以我們今天的主題就是 登錄認(rèn)證 。 最終我們要實(shí)現(xiàn)的效果就是用戶必須登錄之后,才可以訪

    2024年01月19日
    瀏覽(19)
  • 【JavaWeb后端開發(fā)-第六章(4)】SpringBootWeb案例—事務(wù)&AOP

    【JavaWeb后端開發(fā)-第六章(4)】SpringBootWeb案例—事務(wù)&AOP

    ????在數(shù)據(jù)庫階段我們已學(xué)習(xí)過事務(wù)了,我們講到: ???? 事務(wù) 是一組操作的集合,它是一個(gè)不可分割的工作單位。事務(wù)會(huì)把所有的操作作為一個(gè)整體,一起向數(shù)據(jù)庫提交或者是撤銷操作請(qǐng)求。所以這組操作要么同時(shí)成功,要么同時(shí)失敗。 ????怎么樣來控制這組

    2024年01月19日
    瀏覽(22)
  • 【外賣系統(tǒng)】員工信息分頁查詢

    【外賣系統(tǒng)】員工信息分頁查詢

    當(dāng)數(shù)據(jù)較多時(shí),如果將數(shù)據(jù)在一個(gè)頁面中全部展示出來會(huì)顯得比較亂,不便于查看,所以一般系統(tǒng)都會(huì)以分頁的方式來展示列表數(shù)據(jù)。 頁面發(fā)送ajax請(qǐng)求,將分頁查詢參數(shù)( page 、 pageSize 、 name )提交到服務(wù)端 服務(wù)端 Controller 接收頁面提交的數(shù)據(jù)并調(diào)用 Service 查詢數(shù)據(jù) Serv

    2024年02月15日
    瀏覽(25)
  • Javaweb實(shí)現(xiàn)員工信息管理系統(tǒng)

    Javaweb實(shí)現(xiàn)員工信息管理系統(tǒng)

    1、項(xiàng)目用到的技術(shù)棧 開發(fā)工具:idea 語言:java、js、html+ajax 數(shù)據(jù)庫:MySQL 服務(wù)器:Tomcat 框架:mybatis、jQuery、layui 2、項(xiàng)目實(shí)現(xiàn)功能 管理員、部門負(fù)責(zé)人、員工登錄和退出功能以及用戶注冊(cè)功能(根據(jù)不同的賬號(hào)密碼進(jìn)入不同的頁面,注冊(cè)頁面以及登錄都有校驗(yàn) 管理員可查看

    2024年02月11日
    瀏覽(21)
  • JavaWeb12(實(shí)現(xiàn)基礎(chǔ)分頁&模糊查詢的分頁)

    JavaWeb12(實(shí)現(xiàn)基礎(chǔ)分頁&模糊查詢的分頁)

    目錄 一. 效果預(yù)覽 ?編輯?二. 實(shí)現(xiàn)基本分頁 2.1 分頁sql ?--每頁3條? 取第二頁 --由于偽列不能作用與大于符號(hào)也不能作用于between....and --因此需要將偽列-----名列 ?2.2 萬能公式 ?2.3 首頁上一頁下一頁實(shí)現(xiàn) ②前端代碼 2.4 末頁實(shí)現(xiàn)優(yōu)化 ①底層代碼 ②前端優(yōu)化 ?三.實(shí)現(xiàn)模糊查詢

    2024年02月06日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包