Spring boot集成mybatis

Spring boot集成mybatis

maven依賴

我的spring boot版本是2.5.0,集成mybatis,首先需要數據庫的支持,這里我選擇mysql數據庫,版本是8.0.11,然后使用druid連接池,其次就需要加上mybatis的依賴。

        <!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></dependency><!--druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.4</version></dependency><!--myabtis-springboot--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency>

yml配置

yml中配置了數據源和mybatis的配置

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=trueusername: rootpassword: 123456
# mybatis配置
mybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: org.syx.dts.entityconfiguration:map-underscore-to-camel-case: true

項目結構

entity包放的是定義的實體,mapper包是各mapper的接口,resources下的mapper放的是mybatis的xml
在這里插入圖片描述

mapper注解

啟動類上的MapperScan(“org.syx.dts.mapper”)這個注解可寫可不寫。主要看mapper接口有沒有加@Mapper注解,加了,啟動類就不需要加MapperScan,當然你加了也無所謂。
在這里插入圖片描述
在這里插入圖片描述

各類展示

@Data
@AllArgsConstructor
@NoArgsConstructor
public class DailyReport {private Integer id;private Integer empTotal;private Integer deviceTotal;private Integer deviceUsedNum;private Integer birthdayEmpNum;@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;
}
@Mapper
public interface DailyReportMapper {@Select("insert into daily_report(emp_total,device_total,device_used_num,birthday_emp_num,create_time) values(#{empTotal},#{deviceTotal},#{deviceUsedNum},#{birthdayEmpNum},NOW())")void save(DailyReport dailyReport);@Select("select * from daily_report")List<DailyReport> lists();
}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.syx.dts.mapper.DeviceMapper"><insert id="batchSave">INSERT INTO `device` (name,no,description,type,create_time,status) VALUES<!-- 使用foreach遍歷列表 --><foreach item="device" index="index" collection="list" separator=",">(#{device.name}, #{device.no}, #{device.description}, #{device.type}, NOW(),0)</foreach></insert><update id="update">update `device` set<if test="status != null and status != ''">status = #{status}</if>where id = #{id}</update><select id="getDeviceList" resultType="org.syx.dts.entity.Device">select id,name,no,description,type,create_time,status from `device` where 1=1<if test="name != null and name != ''">AND name LIKE CONCAT('%', #{name}, '%')</if><if test="flag != null ">AND status = #{flag}</if></select>
</mapper>

總結

如此,Spring boot集成mybatis就完成了,整個過程是非常簡單的。

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

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

相關文章

[ue5]建模場景學習筆記(2)——用vectornoise降低重復率

1.問題分析&#xff1a; 利用改uv的方式降低重復率并不理想&#xff0c;在一定程度上的確能夠達到降低重復率的效果&#xff0c;但遠看仍然有較清晰的重復效果&#xff0c;嘗試優化一下。 2.操作實現&#xff1a; 1.首先先看一下修改后的效果&#xff1a; 這是未修改前&#…

centos打包離線phtone3安裝包rpm

在有網絡的環境中&#xff0c;下載Python3的RPM包及其所有依賴。 打包離線phtone3安裝包centos7rmp # 安裝 yum-utils&#xff0c;這個包包含了 yumdownloader yum install yum-utils # 創建一個目錄來保存下載的RPM包 mkdir python3-rpms # 下載Python3及其所有依賴 yu…

「前端+鴻蒙」核心技術HTML5+CSS3(八)

1、網站布局詳解 網站布局是前端開發中的核心概念之一,它決定了網頁的視覺結構和用戶瀏覽的邏輯順序。以下是幾種常見的布局方式及其代碼示例: 固定布局: 固定布局通常具有固定的寬度和高度,適用于傳統的桌面視圖。 <!DOCTYPE html> <html> <head><…

【Web API DOM02】如何獲取、操作DOM元素

一&#xff1a;獲取DOM元素 1 根據CSS選擇器獲取 語法格式如下&#xff1a; &#xff08;1&#xff09;選中一個DOM元素 document.querySeletor(CSS選擇器) <ul><li>1</li><li>2</li><li>3</li> </ul> document.querySel…

Github上一款開源、簡潔、強大的任務管理工具:Condution

Condution 是一款開源任務管理工具&#xff0c;它以簡潔易用、功能強大著稱。它旨在為用戶提供一個簡單高效的平臺&#xff0c;幫助他們管理日常任務、提高工作效率。 1. Condution 的誕生背景 現如今&#xff0c;市面上存在著許多任務管理軟件&#xff0c;但它們往往價格昂貴…

如何不用口吐蓮花,照樣成為社交達人

一、教程描述 每個人的一生&#xff0c;70%的時候都在溝通&#xff0c;與老板溝通、與家人溝通、與朋友溝通、與陌生人溝通&#xff0c;等等&#xff0c;但是你真的會溝通么&#xff1f;不論是工作上跟上司、同事和客戶間的溝通&#xff0c;還是生活中與家人、朋友、伴侶間的溝…

[ICPC2024 Xi‘an I] ICPC2024 邀請賽西安站(7/8/13)

心得 [ICPC2024 Xian I] ICPC2024 邀請賽西安站重現賽 - 比賽詳情 - 洛谷 7表示賽時ac了7個&#xff0c;8表示含補題總共ac數&#xff0c;13表示題目總數 題目 M. Chained Lights 打表&#xff0c;發現只有k1是YES //#include <bits/stdc.h> #include<iostream&…

Mysql 技術實戰篇

命令行 導出 - -h localhost&#xff1a;指定MySQL服務器的主機地址為本地主機。如果MySQL服務器在其他主機上&#xff0c;請將localhost替換為相應的主機地址。 - -u username&#xff1a;指定連接MySQL服務器的用戶名。將username替換為您的有效用戶名。 - -p&#xff1a;提…

Makefile教程(附通用模板)

工程目錄 工程目錄如圖&#xff0c;build文件夾是編譯出來的 . ├── app │ ├── imx6ul.lds │ ├── main.c │ ├── makefile │ └── start.S ├── bsp │ ├── clk │ │ ├── bsp_clk.c │ │ └── bsp_clk.h │ ├── delay │…

軟考 系統架構設計師系列知識點之SOME/IP與DDS(1)

本文內容參考&#xff1a; 車載以太網 - SOME/IP簡介_someip-CSDN博客 https://zhuanlan.zhihu.com/p/369422441 什么是SOME/IP?_someip-CSDN博客 SOME/IP 詳解系列&#xff08;1&#xff09;—— 概述_some ip-CSDN博客 深入淺出SOME/IP協議&#xff1a;基本概念和原理-…

天童教育:停止內耗放松身心

如果一個人經常從自己身上找原因&#xff0c;經常攬下他人的過錯的責任&#xff0c;總是自我懷疑自我否定&#xff0c;認為自己不值得被愛。當被人誤解時會在心里悄悄附和&#xff0c;責怪自己。缺乏自信&#xff0c;沒辦法和他人有正常的交往&#xff0c;長期處于身心疲憊的狀…

Python與Python3的區別:深度剖析與全面解讀

Python與Python3的區別&#xff1a;深度剖析與全面解讀 在編程領域&#xff0c;Python和Python3是兩個常被提及的版本&#xff0c;它們之間既存在相似之處&#xff0c;又有著顯著的區別。本文將從四個方面、五個方面、六個方面和七個方面&#xff0c;深入剖析Python與Python3之…

OJ3376無盡的石頭問題

答案&#xff1a; #include<bits/stdc.h> using namespace std; const int N10e7; int fx(int n) {int sum0;while(n){sum(n%10);n/10;}return sum; } int main() {int t,n,x;cin>>t;while(t--){cin>>n;int count0;for(int i1;i<N;){if(in){cout<<…

在github上創建(上傳、關聯)自已的項目

目錄 創建一個github項目并進行開發。 1.github創建空項目 2. git clone 項目 3. 將項目關聯 創建一個github項目并進行開發。 1.github創建空項目 右邊的New 然后按步創建就行 2. git clone 項目 復制這個連接 然后在終端&#xff1a;git clone [剛才復制的連接] 3. 將…

解讀 Explainable Image Similarity Integrating Siamese Networks and Grad-CAM

給出論文&#xff08;Explainable Image Similarity Integrating Siamese Networks and Grad-CAM&#xff09;的內容解讀、代碼運行說明 論文鏈接&#xff1a;J. Imaging | Free Full-Text | Explainable Image Similarity: Integrating Siamese Networks and Grad-CAM (mdpi.c…

純網絡的系統能否定級備案?

很多單位想把網絡基礎設施進行定級備案和測評&#xff0c;但是不知道這樣可否&#xff1f; 目前湖北省是可以的。因為根據《定級指南》的術語解釋3.2對等級保護對象的定義是包括通信基礎設施的&#xff0c;也就是網絡基礎設施。其他地區目前有的地方可以有的地方不行&#xff…

2024年武漢東湖高新中級職稱報名時間是什么時候?

2024年武漢市東湖高新中級職稱上半年批次報名已經截止了&#xff0c;下半年東湖高新至少還有一次報名機會&#xff0c;所以各位東湖高新區評職稱的朋友們&#xff0c;不要錯過這次了。 2024年武漢東湖高新區中級職稱報名條件&#xff1a; 1.東湖高新區社保滿足1年&#xff0c;近…

進口不銹鋼氣動輸送泵-美國品牌

進口不銹鋼氣動輸送泵是一種利用壓縮空氣為動力&#xff0c;通過氣閥控制進行往復運動&#xff0c;將能量轉換為泵的動能&#xff0c;從而實現對液體或固體物料輸送的設備。以下是關于進口不銹鋼氣動輸送泵的詳細介紹&#xff1a; 一、產品特點 材質優良&#xff1a;主體部分…

seata源碼分析(03)_創建代理的過程

seata提供了ProxyUtil工具類為事務組件創建代理對象&#xff0c;在spring環境中&#xff0c;seata提供了GlobalTransactionScanner類和SeataAutoDataSourceProxyCreator為組件創建AOP代理&#xff0c;本文重點分析這兩個類。 ProxyUtil io.seata.integration.tx.api.util.Pro…

【中年危機】程序猿自救指南

中年危機&#xff0c;一個聽起來就充滿挑戰的詞匯&#xff0c;它不僅僅是一個年齡的標記&#xff0c;更是一個個人成長和職業發展的轉折點。 構架個人品牌&#xff1a; 學會打造IP個人品牌是職業生涯中的重要資產。在中年時期&#xff0c;你已經積累了豐富的經驗和知識&#x…