mybatis-plus實操

如何生成完全看項目,有的人是用管理系統生成,還有其他人可能是.....。博主這里是用插件生成

我是插件的話,先在ide連接上數據源,然后對表右鍵,直接來到下面這個步驟,

第一次是新增6個文件,我們寫接口,第一次是要動六個文件的,第一個是Controller層,第二個是Service接口(注冊方法給Controller調用的),第三個是ServiceImpl實現類,第四個是實體類,對應數據庫表(可以當作前端接受參數類型),第五個是Mapper.xml文件,在xml文件后面要寫sql查詢的,第六個是Mapper.java文件(在這里寫@DS('數據源名稱'),這里的方法名稱與xml文件的sql對應的id

?再進行下面選擇 ,注意項目用的mybatis版本

然后會生成下面這些

?resources下的xml根據你的application.ym里面的? mybatis-plus 的?mapper-locations(xml 掃描路徑)來放,我這邊是resources的mapper,實體類路徑就是?type-aliases-package

?注意修改BchzdtMapper.xml的? namespace? 和??type? ,namespace 的路徑是另一個跟xml同命的java文件,type就是數據庫的實體類。

接下來進入實操練習吧,寫一個接口,前端傳編號和日期。都是必填參數

controller控制層

package com.yupi.controller;import com.yupi.entity.Bchzdt;
import com.yupi.entity.FebsResponse;
import com.yupi.service.BchzdtService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;import java.util.Date;
import java.util.List;/*** 管理控制器*/
@RestController
@RequestMapping("/api/bchzdt")
public class BchzdtController {@Autowiredprivate BchzdtService bchzdtService;/*** 根據編號和日期查詢交接班記錄* @param ksbh 編號,不能為空* @param date 查詢日期,格式:yyyy-MM-dd HH:mm:ss,不能為空* @return 查詢結果*/@GetMapping("/query")public FebsResponse queryByKsbh(@RequestParam(required = true) Long ksbh,@RequestParam(required = true) @DateTimeFormat(pattern = "yyyy-MM-dd") Date date) {if (ksbh == null) {return new FebsResponse().fail().message("編號不能為空");}if (date == null) {return new FebsResponse().fail().message("查詢日期不能為空");}try {List<Bchzdt> bchzdtList = bchzdtService.findByKsbhAndDate(ksbh, date);return new FebsResponse().success().data(bchzdtList).message("查詢成功");} catch (Exception e) {return new FebsResponse().fail().message("查詢失敗:" + e.getMessage());}}
}

BchzdtService.java? 實現類的接口

package com.yupi.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.yupi.entity.Bchzdt;import java.util.Date;
import java.util.List;/**
* @author
* @description 針對表【BCHZDT】的數據庫操作Service
* @createDate 2025-05-14 16:08:19
*/
public interface BchzdtService extends IService<Bchzdt> {/*** 根據編號和日期查詢記錄* @param ksbh 編號* @param date 查詢日期* @return 記錄列表*/List<Bchzdt> findByKsbhAndDate(Long ksbh, Date date);
}

實現類??BchzdtServiceImpl.java

package com.yupi.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yupi.entity.Bchzdt;
import com.yupi.mapper.BchzdtMapper;
import com.yupi.service.BchzdtService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.Date;
import java.util.List;/**
* @author 
* @description 針對表【BCHZDT】的數據庫操作Service實現
* @createDate 2025-05-14 16:08:19
*/
@Service
public class BchzdtServiceImpl extends ServiceImpl<BchzdtMapper, Bchzdt>implements BchzdtService {@Autowiredprivate BchzdtMapper bchzdtMapper;/*** 根據編號和日期查詢記錄* @param ksbh 編號* @param date 查詢日期* @return 記錄列表*/@Overridepublic List<Bchzdt> findByKsbhAndDate(Long ksbh, Date date) {return bchzdtMapper.findByKsbhAndDate(ksbh, date);}
}

BchzdtMapper.xml

package com.yupi.mapper;import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yupi.entity.Bchzdt;
import org.apache.ibatis.annotations.Param;import java.util.Date;
import java.util.List;/**
* @author 
* @description 針對表【BCHZDT】的數據庫操作Mapper
* @createDate 2025-05-14 16:08:19
* @Entity generator.entity.Bchzdt
*/
@DS("emr") // 指定使用emr數據源
public interface BchzdtMapper extends BaseMapper<Bchzdt> {/*** 根據編號和日期查詢記錄* @param ksbh 編號* @param date 查詢日期* @return 記錄列表*/List<Bchzdt> findByKsbhAndDate(@Param("ksbh") Long ksbh, @Param("date") Date date);
}
mybatis操作數據庫的方式
查詢方式是否推薦適用場景
XML SQL 定義推薦復雜查詢、性能優化
注解 SQL推薦簡單查詢
LambdaQueryWrapper推薦類型安全、鏈式調用
QueryWrapper推薦動態字段
自定義 SQL推薦復雜業務邏輯
Stream 過濾不推薦小數據量時可用
分頁查詢推薦分頁展示
聚合函數?推薦統計、計算
動態 SQL?推薦條件組合
多表查詢推薦關聯數據查詢

最后在BchzdtMapper.xml添加sql查詢語句

<!-- 根據編號和日期查詢記錄 --><select id="findByKsbhAndDate" resultMap="BaseResultMap">SELECT<include refid="Base_Column_List"/>FROM BCHZDTWHERE KSBH = #{ksbh}AND TRUNC(CREATE_TIME) = TRUNC(#{date})<if test="true">AND IS_DELETE = 0</if>ORDER BY CREATE_TIME DESC</select>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906258.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906258.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906258.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mergekit——任務向量合并算法Ties解析

Mergekit——高頻合并算法 TIES解析 Ties背景Ties 核心思想具體流程總結 mergekit項目地址 Mergekit提供模型合并方法可以概況為三大類&#xff1a;基本線性加權、基于球面插值、基于任務向量&#xff0c;今天我們來刷下基于任務向量的ties合并方法&#xff0c;熟悉原理和代碼。…

YOLOv8 在單片機上部署的缺點和應對方案

YOLOv8 在單片機上部署的主要挑戰與缺陷 將 YOLOv8 部署到單片機上確實面臨諸多技術挑戰&#xff0c;主要源于單片機有限的計算資源與 YOLOv8 模型的高復雜度之間的矛盾。以下是具體的缺陷和限制&#xff1a; 1. 計算資源嚴重不足 算力限制&#xff1a;典型單片機&#xff0…

搭建一個永久免費的博客

搭建永久免費的博客&#xff08;1&#xff09;基本介紹 HugoStackGitHub GitHub GitHub GitHub Build and ship software on a single, collaborative platform GitHub 下載安裝git Git - Downloads Edge插件authenticator 2fa client Settings->Password and auth…

基于SpringBoot的小型民營加油站管理系統

作者&#xff1a;計算機學姐 開發技術&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源碼”。 專欄推薦&#xff1a;前后端分離項目源碼、SpringBoot項目源碼、Vue項目源碼、SSM項目源碼、微信小程序源碼 精品專欄&#xff1a;…

推薦一個Winform開源的UI工具包

從零學習構建一個完整的系統 推薦一個開源、免費的適合.NET WinForms 控件的套件。 項目簡介 Krypton是一套開源的.Net組件&#xff0c;用于快速構建具有豐富UI交互的WinForms應用程序。 豐富的UI控件&#xff0c;提供了48個基礎控件&#xff0c;如按鈕、文本框、標簽、下拉…

社交平臺推出IP關聯機制:增強用戶體驗與網絡安全的新舉措

社交平臺為我們提供與親朋好友保持聯系、分享生活點滴的便捷渠道&#xff0c;還成為了信息傳播、觀點交流的重要平臺。然而&#xff0c;隨著社交平臺的普及&#xff0c;網絡空間中的虛假信息、惡意行為等問題也日益凸顯。為了應對這些挑戰&#xff0c;許多社交平臺相繼推出IP關…

系統架構設計(八):三層架構

什么是三層架構&#xff08;Three-Tier Architecture&#xff09; 三層架構是將系統分為三大邏輯層&#xff1a;表示層&#xff08;Presentation&#xff09;、業務邏輯層&#xff08;Business Logic&#xff09;、數據訪問層&#xff08;Data Access&#xff09;&#xff0c;…

C語法備注01

&#xff08;1&#xff09;char 字符類 char 既可以是 整數 類型&#xff0c;也可以是 字符 類型。z字符 類型可以轉化為對應的ASC2值。 int main(){char c;char e;c 1;char d 1;e A;printf("c %d\n", c);printf("d %d\n", d);printf("e %d\n…

CVE-2015-2183 Zeuscart SQL注入漏洞

CVE-2015-2183 Zeuscart SQL注入漏洞 主頁 訪問/admin/進行登錄 訪問&#xff1a;http://192.168.1.3/admin/?doeditcurrency&cid1 單引號測試&#xff0c;發現頁面發生變化&#xff0c;進一步測試 order by 5 &#xff0c;頁面正常&#xff0c;order by 6時頁面發生變…

Go 語言即時通訊系統開發日志-日志day2-5:架構設計與日志封裝

Go語言即時通訊系統開發日志day2 計劃&#xff1a;學習go中MySQL&#xff0c;Redis的使用&#xff0c;使用MySQL和Redis完成一個單聊demo。 總結&#xff1a;現在每天下午用來開發這個項目&#xff0c;如果有課的話可能學習時間只有3-4個小時&#xff0c;再加上今天的學習效率不…

對盒模型的理解

對CSS盒模型的深入理解 CSS盒模型是網頁布局的基礎概念&#xff0c;它描述了HTML元素在頁面中所占的空間以及如何計算這些空間。以下是關于盒模型的全面解析&#xff1a; 1. 盒模型的基本組成 每個HTML元素都被視為一個矩形的盒子&#xff0c;這個盒子由內到外由四部分組成&…

RV1126多線程獲取SMARTP的GOP模式數據和普通GOP模式數據

通過代碼的方式同時獲取SMARTP模式的VENC碼流數據和普通GOP模式的VENC碼流數據&#xff0c;并進行對比畫質。 一.RV1126 VI采集攝像頭數據并同時編碼SMARTP模式和普通GOP模式的編碼碼流流程 RV1126利用多線程同時獲取普通GOP的VENC碼流數據和SMARTP的碼流數據一般如上圖&#…

在Ubuntu使用 Ansible 配置 Azure 資源的動態清單

使用 Ansible 配置 Azure 資源的動態清單 簡介1.安裝pipx2.通過 pipx 安裝 Ansible3.安裝azure.azcollection4.安裝集合所需的依賴項5.生成動態庫存 簡介 在主機變化不定的云環境中&#xff0c;Ansible 的動態清單功能可以消除維護靜態清單文件的負擔 本教程將帶你使用 Azure…

車載診斷架構 ---車載總線對于功能尋址的處理策略

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 鈍感力的“鈍”,不是木訥、遲鈍,而是直面困境的韌勁和耐力,是面對外界噪音的通透淡然。 生活中有兩種人,一種人格外在意別人的眼光;另一種人無論…

Github 2025-05-16 Java開源項目日報 Top9

根據Github Trendings的統計,今日(2025-05-16統計)共有9個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Java項目9Netty:異步事件驅動的網絡應用程序框架 創建周期:5043 天開發語言:Java協議類型:Apache License 2.0Star數量:33219 個Fork數量:…

大語言模型(LLM)如何通過“思考時間”(即推理時的計算資源)提升推理能力

大語言模型(LLM)如何通過“思考時間”(即推理時的計算資源)提升推理能力 核心圍繞人類思維機制、模型架構改進、訓練方法優化等展開 一、人類思維的啟發:快思考與慢思考 類比心理學: 人類思維分兩種模式: 快思考(系統1):直覺驅動,快速但易出錯(如估算簡單問題)。…

【ubuntu24.04】pycharm 死機結束進程

windows 遠程pycharm到ubuntu執行程序 pycharm 在調試過程中&#xff0c;內存耗盡&#xff0c;然后死機了 pycharm 進程 (base) rootk8s-master-pfsrv:/home/zhangbin/下載# ps -ef | grep pycharm root 121245 3230568 0 5月14 pts/8 00:00:00 /bin/bash --rcfile …

從虛擬仿真到行業實訓再到具身智能--華清遠見嵌入式物聯網人工智能全鏈路教學方案

2025年5月23-25日&#xff0c;第63屆中國高等教育博覽會&#xff08;高博會&#xff09;將在長春中鐵東北亞國際博覽中心舉辦。作為國內高等教育領域規模大、影響力廣的綜合性展會&#xff0c;高博會始終聚焦教育科技前沿&#xff0c;吸引全國高校管理者、一線教師、教育科技企…

本地部署dify+ragflow+deepseek ,結合小模型實現故障預測,并結合本地知識庫和大模型給出維修建議

1.準備工作 使用ollama 拉取deepseek-r1:7b 官網下載ollama ollama run deepseek-r1:7b ollama list Ragflow專注于構建基于檢索增強生成&#xff08;RAG&#xff09;的工作流&#xff0c;強調模塊化和輕量化&#xff0c;適合處理復雜文檔格式和需要高精度檢索的場景。Dify…

https://api.ipify.org/?format=json 不好使

https://api.ipify.org/?formatjson 打不開&#xff0c;用下面新地址 https://api64.ipify.org/?formatjson