SpringBoot ケース - 部門管理 - クエリ

 ページのプロトタイプを表示して要件を明確にする

ページのプロトタイプ

 需要分析

インターフェースのドキュメントを読む

インターフェイスのドキュメントへのリンクは次のとおりです。

https://docs.qq.com/doc/DUkRiTWVaUmFVck9N

アイデア分析

ユーザーがリクエストを送信すると、対応するControllerクラスがリクエストを処理し、Controllerクラスはサービスを呼び出して部門への問い合わせ機能を実現し、対応するサービスビジネス層は対応するマッパーインターフェースを呼び出し、マッパーインターフェースを通じてデータベースにクエリを実行します。 select * from dept; を実行 SQL 文、クエリ結果 サービスに戻ると、サービスはクエリ結果を Controller クラスに返し、Controller はクエリ結果を統合クエリ結果 Result クラスにカプセル化し、最終的にフロントエンドに応答します。

機能インターフェースの開発

 制御層(コントローラー)

具体的なコードは以下の通り

package com.example.tlias.controller;

import com.example.tlias.pojo.Dept;
import com.example.tlias.pojo.Result;
import com.example.tlias.service.DeptService;
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.RestController;

import java.util.List;
import java.util.logging.Logger;

@RestController
@Slf4j // 日志注解
public class DeptController {
    @Autowired
    // 注入service对象
    private DeptService deptService;

    // 获取日志记录对象
    // todo 查询部门信息
    // 指定请求路径及方式
    //    @RequestMapping(value = "/depts", method = RequestMethod.GET)
    // 上述注解的简化
    @GetMapping("depts")
    public Result list() {
        log.info("查询全部部门数据");
        // 调用service查询部门信息
        List<Dept> deptList = deptService.list();
        return Result.success(deptList);
    }
}

ビジネス層(サービス)

具体的なコードは以下の通り

サービスインターフェース

package com.example.tlias.service;

import com.example.tlias.pojo.Dept;

import java.util.List;

public interface DeptService {
    /**
     * 查询全部部门数据
     *
     * @return
     */
    List<Dept> list();
}

 サービスインターフェース実装クラス

package com.example.tlias.service.impl;

import com.example.tlias.mapper.DeptMapper;
import com.example.tlias.pojo.Dept;
import com.example.tlias.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class DeptServiceImpl implements DeptService {
    @Autowired
    private DeptMapper deptMapper;

    @Override
    public List<Dept> list() {
        return deptMapper.list();
    }
}

永続化レイヤー (マッパー)

package com.example.tlias.mapper;

import com.example.tlias.pojo.Dept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface DeptMapper {
    /**
     * 查询全部的部门数据
     *
     * @return
     */
    @Select("select * from dept")
    List<Dept> list();
}

インターフェーステスト

インターフェイスのテストに Postman を使用し、まず SpringBoot プロジェクトを開始してから、Postman で対応するリクエストを送信します。

具体的な動作結果は以下の通りです

{
    "code": 1,
    "msg": "success",
    "data": [
        {
            "id": 1,
            "name": "学工部",
            "createTime": "2023-08-07T15:44:50",
            "updateTime": "2023-08-07T15:44:50"
        },
        {
            "id": 2,
            "name": "教研部",
            "createTime": "2023-08-07T15:44:50",
            "updateTime": "2023-08-07T15:44:50"
        },
        {
            "id": 3,
            "name": "咨询部",
            "createTime": "2023-08-07T15:44:50",
            "updateTime": "2023-08-07T15:44:50"
        },
        {
            "id": 4,
            "name": "就业部",
            "createTime": "2023-08-07T15:44:50",
            "updateTime": "2023-08-07T15:44:50"
        },
        {
            "id": 5,
            "name": "人事部",
            "createTime": "2023-08-07T15:44:50",
            "updateTime": "2023-08-07T15:44:50"
        }
    ]
}

コントロールクラスで使用されるアノテーションは @RestController (@Controller` アノテーションと `@ResponseBody` アノテーションの組み合わせ) であるため、コントロール クラスはフロントエンドに返された結果を JSON 形式のデータに自動的に変換します。テストの成功
 

おすすめ

転載: blog.csdn.net/weixin_64939936/article/details/132200090