欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis-Plus 與Druid 數(shù)據(jù)源操作

 更新時(shí)間:2024年09月10日 11:33:30   作者:Mr.W.T  
SpringBoot框架集成MyBatis-Plus和Druid數(shù)據(jù)源,簡(jiǎn)化了數(shù)據(jù)操作與監(jiān)控,MyBatis-Plus作為MyBatis的增強(qiáng)工具,自動(dòng)實(shí)現(xiàn)CRUD操作,減少手寫(xiě)SQL,提供分頁(yè)、邏輯刪除等功能,本文介紹MyBatis-Plus & Druid 數(shù)據(jù)源總結(jié),感興趣的朋友一起看看吧

1. SpringBoot 集成 MyBatis-Plus

(1) MyBatis-Plus 簡(jiǎn)介

MyBatis-Plus 是對(duì) MyBatis 的增強(qiáng)工具,簡(jiǎn)化了開(kāi)發(fā)流程,減少了手動(dòng)編寫(xiě) SQL 的工作量。它提供了豐富的 CRUD 操作和分頁(yè)功能,大大提高了開(kāi)發(fā)效率。核心目標(biāo)是“更少的代碼,更多的功能”

MyBatis-Plus 的主要特性包括:

  • 無(wú)需手寫(xiě) CRUD 操作:自動(dòng)實(shí)現(xiàn)基本的 CRUD 操作,減少代碼冗余
  • 擴(kuò)展功能:分頁(yè)插件、邏輯刪除、性能分析插件等,使開(kāi)發(fā)更高效
  • 強(qiáng)大的查詢(xún)構(gòu)造器:通過(guò) Lambda 表達(dá)式靈活構(gòu)建查詢(xún)條件

(2) Lombok 簡(jiǎn)介和安裝

Lombok 是一個(gè) Java 庫(kù),通過(guò)注解簡(jiǎn)化代碼,特別是在定義實(shí)體類(lèi)時(shí)可以自動(dòng)生成 getter/setter 方法、toString、equals、hashCode

安裝步驟:

在 Maven 項(xiàng)目中,引入依賴(lài):

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.24</version>
</dependency>

打開(kāi)IDEA的設(shè)置選項(xiàng)卡

選中插件欄,搜索Lombok插件,下載并啟用 

即可在項(xiàng)目中使用 Lombok 提供的注解(如 @Data、@Getter、@Setter 等)

(3) 核心功能

自動(dòng)生成 CRUD

MyBatis-Plus 可以基于實(shí)體類(lèi)自動(dòng)生成 CRUD 操作使用 BaseMapper<T>,無(wú)需手動(dòng)編寫(xiě) SQL,提供 selectByIdinsert 等方法

Lambda 表達(dá)式查詢(xún)

  • 支持通過(guò) Lambda 方式構(gòu)建動(dòng)態(tài) SQL 查詢(xún),簡(jiǎn)化條件構(gòu)建。
  • 例如:
List<User> users = userMapper.selectList(new QueryWrapper<User>().lambda().eq(User::getAge, 20));

分頁(yè)插件

  • 只需引入 MyBatis-Plus 的分頁(yè)插件,即可實(shí)現(xiàn)分頁(yè)查詢(xún),簡(jiǎn)化分頁(yè)邏輯。
  • 示例:
Page<User> page = new Page<>(1, 10);
IPage<User> userPage = userMapper.selectPage(page, null);

邏輯刪除

  • 通過(guò)配置邏輯刪除字段,可以實(shí)現(xiàn)軟刪除操作,數(shù)據(jù)不會(huì)被真正刪除,而是標(biāo)記為“已刪除”

2. SpringBoot 集成 Druid 數(shù)據(jù)源

(1) Druid 簡(jiǎn)介

Druid 是阿里巴巴推出的高性能數(shù)據(jù)庫(kù)連接池。它不僅提供了優(yōu)秀的性能和穩(wěn)定性,還包含監(jiān)控功能,可以實(shí)時(shí)查看 SQL 執(zhí)行情況、連接池狀態(tài)等信息。此外,Druid 支持多種數(shù)據(jù)庫(kù),如 MySQL、Oracle、PostgreSQL 等

Druid 的主要特性:

  • 高效穩(wěn)定的連接池:支持多線(xiàn)程并發(fā),能夠在高并發(fā)環(huán)境下保證性能
  • 強(qiáng)大的監(jiān)控功能:提供 SQL 監(jiān)控、慢查詢(xún)分析、實(shí)時(shí)統(tǒng)計(jì)等功能,便于排查問(wèn)題
  • 支持多種數(shù)據(jù)庫(kù):MySQL、Oracle、PostgreSQL 等主流數(shù)據(jù)庫(kù)

(2) SpringBoot 集成 Druid 數(shù)據(jù)源

SpringBoot 集成 Druid 非常方便,只需簡(jiǎn)單的配置即可使用其強(qiáng)大的數(shù)據(jù)源功能

步驟:

引入 Maven 依賴(lài)

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.8</version>
</dependency>

配置 Druid 數(shù)據(jù)源: 在 application.properties 中進(jìn)行 Druid 數(shù)據(jù)源配置:

#配置數(shù)據(jù)源相關(guān)信息
#MySQL5.x版本的驅(qū)動(dòng)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crm?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#初始化大小、最小、最大連接數(shù)
spring.datasource.druid.initial-size=3
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=10
#配置獲取鏈接等待超時(shí)的時(shí)間
spring.datasource.druid.max-wait=60000
#監(jiān)控后臺(tái)賬號(hào)密碼
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin
#配置StatFileter
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000

配置監(jiān)控和統(tǒng)計(jì)功能,可以通過(guò) web 界面查看 SQL 執(zhí)行情況和連接池狀態(tài)

到此這篇關(guān)于MyBatis-Plus &amp; Druid 數(shù)據(jù)源總結(jié)的文章就介紹到這了,更多相關(guān)MyBatis-Plus Druid 數(shù)據(jù)源內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)詳解

    JAVA JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)詳解

    這篇文章主要介紹了JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)劃分原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • java階乘計(jì)算獲得結(jié)果末尾0的個(gè)數(shù)代碼實(shí)現(xiàn)

    java階乘計(jì)算獲得結(jié)果末尾0的個(gè)數(shù)代碼實(shí)現(xiàn)

    今天偶然看到一個(gè)要求,求1000~10000之間的數(shù)n的階乘并計(jì)算所得的數(shù)n!末尾有多少個(gè)0?要求: 不計(jì)算 只要得到末尾有多少個(gè)0就可以了,看下面的代碼吧
    2013-12-12
  • Maven setting配置鏡像倉(cāng)庫(kù)的方法步驟

    Maven setting配置鏡像倉(cāng)庫(kù)的方法步驟

    這篇文章主要介紹了Maven setting配置鏡像倉(cāng)庫(kù)的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 使用@ConfigurationProperties實(shí)現(xiàn)類(lèi)型安全的配置過(guò)程

    使用@ConfigurationProperties實(shí)現(xiàn)類(lèi)型安全的配置過(guò)程

    這篇文章主要介紹了使用@ConfigurationProperties實(shí)現(xiàn)類(lèi)型安全的配置過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • java虛擬機(jī)深入學(xué)習(xí)之內(nèi)存管理機(jī)制

    java虛擬機(jī)深入學(xué)習(xí)之內(nèi)存管理機(jī)制

    java虛擬機(jī)在程序運(yùn)行時(shí)將內(nèi)存劃分為多個(gè)區(qū)域,每個(gè)區(qū)域作用,生命周期各不相同,下面這篇文章主要給大家介紹了關(guān)于java虛擬機(jī)深入學(xué)習(xí)之內(nèi)存管理機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-11-11
  • Java限流實(shí)現(xiàn)的幾種方法詳解

    Java限流實(shí)現(xiàn)的幾種方法詳解

    這篇文章主要介紹了Java限流實(shí)現(xiàn)的幾種方法,通俗的說(shuō),限流就是 限制一段時(shí)間內(nèi),用戶(hù)訪(fǎng)問(wèn)資源的次數(shù),減輕服務(wù)器壓力,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-12-12
  • Spring?Boot日志的策略解析與門(mén)面模式

    Spring?Boot日志的策略解析與門(mén)面模式

    這篇文章主要介紹了Spring?Boot日志的策略解析與門(mén)面模式,日志對(duì)我們來(lái)說(shuō)并不陌?,通過(guò)打印日志來(lái)發(fā)現(xiàn)和定位問(wèn)題,或者根據(jù)日志來(lái)分析程序的運(yùn)行過(guò)程,Spring?Boot中的日志管理是非常重要的,需要的朋友可以參考下
    2024-05-05
  • Spring搭配Ehcache實(shí)例解析

    Spring搭配Ehcache實(shí)例解析

    這篇文章主要為大家詳細(xì)介紹了Spring搭配Ehcache實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Maven中的SnapShot版本和正式版本的區(qū)別

    Maven中的SnapShot版本和正式版本的區(qū)別

    在Nexus倉(cāng)庫(kù)中,一個(gè)倉(cāng)庫(kù)一般分為public(Release)倉(cāng)和SNAPSHOT倉(cāng),本文詳細(xì)的介紹了SnapShot版本和正式版本的區(qū)別,感興趣的可以了解一下
    2021-06-06
  • Java分析講解序列化與字典功能的序列化

    Java分析講解序列化與字典功能的序列化

    在項(xiàng)目開(kāi)發(fā)地過(guò)程中經(jīng)常會(huì)用到字典存儲(chǔ)某些可配置的值,但相應(yīng)的也會(huì)給開(kāi)發(fā)帶來(lái)復(fù)雜度,比如數(shù)據(jù)庫(kù)存儲(chǔ)的值為字典值:0,1,2,3這種類(lèi)型的值,但是前端頁(yè)面卻需要展示為 啟動(dòng)、禁用、刪除 等中文狀態(tài),下面我們來(lái)看兩種解決方案
    2022-06-06

最新評(píng)論