欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:整合 Mybatis Plus

柚子快報(bào)激活碼778899分享:整合 Mybatis Plus

http://yzkb.51969.com/

什么是 MyBatis Plus?

MyBatis Plus (簡稱 MP) 是一款持久層框架,說白話就是一款操作數(shù)據(jù)庫的框架。它是一個(gè) MyBatis 的增強(qiáng)工具,就像 iPhone手機(jī)一般都有個(gè) plus 版本一樣,它在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡化開發(fā)、提高效率而生。

MyBatis Plus 的愿景是成為 MyBatis 最好的搭檔,就像魂斗羅中的 1P、2P,基友搭配,效率翻倍。

MyBatis Plus 的優(yōu)勢(shì)

快速開發(fā):MyBatis Plus 提供了一系列的便捷功能,如自動(dòng)生成 SQL 語句、通用 Mapper 等,使數(shù)據(jù)庫操作更加高效,能夠節(jié)省開發(fā)時(shí)間。更少的配置: Spring Boot 已經(jīng)為我們提供了很多默認(rèn)的配置,整合 MyBatis Plus 時(shí)只需少量的配置,減少了繁瑣的配置步驟。內(nèi)置分頁插件:MyBatis Plus 內(nèi)置了分頁插件,無需額外的代碼,就可以輕松實(shí)現(xiàn)分頁查詢。更好的支持: MyBatis Plus 在社區(qū)中有較廣泛的使用,擁有活躍的維護(hù)者和開發(fā)者,您可以輕松找到解決方案和文檔。

建表

在數(shù)據(jù)庫右鍵,新建查詢:

執(zhí)行如下建表語句:

CREATE TABLE `t_user` (

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',

`username` varchar(60) NOT NULL COMMENT '用戶名',

`password` varchar(60) NOT NULL COMMENT '密碼',

`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',

`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后一次更新時(shí)間',

`is_deleted` tinyint(2) NOT NULL DEFAULT '0' COMMENT '邏輯刪除:0:未刪除 1:已刪除',

PRIMARY KEY (`id`) USING BTREE,

UNIQUE KEY `uk_username` (`username`) USING BTREE

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶表';

添加依賴

在父項(xiàng)目 主項(xiàng)目 的?pom.xml?文件中,聲明 MP 的依賴版本號(hào):

// 省略...

3.5.2

// 省略...

com.baomidou

mybatis-plus-boot-starter

${mybatis-plus.version}

然后,在 xx-module-common 公共模塊的?pom.xml?文件中,引入 MP 和 MySQL 依賴:

com.baomidou

mybatis-plus-boot-starter

mysql

mysql-connector-java

配置文件

編輯?applicaiton-dev.yml?文件,添加數(shù)據(jù)庫鏈接相關(guān)的配置,包含連接池的配置:

spring:

datasource:

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://127.0.0.1:3306/weblog?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull

username: root

password: 123456

hikari:

minimum-idle: 5

maximum-pool-size: 20

auto-commit: true

idle-timeout: 30000

pool-name: Weblog-HikariCP

max-lifetime: 1800000

connection-timeout: 30000

connection-test-query: SELECT 1

解釋一下各個(gè)配置的含義和作用:

spring.datasource.driver-class-name: 指定數(shù)據(jù)庫驅(qū)動(dòng)類的完整類名,這里使用的是 MySQL 數(shù)據(jù)庫的驅(qū)動(dòng)類。spring.datasource.url: 數(shù)據(jù)庫連接的URL,指向本地的MySQL數(shù)據(jù)庫,端口是3306,數(shù)據(jù)庫名是xx,同時(shí)配置了一系列參數(shù),如使用Unicode編碼、字符編碼為UTF-8、自動(dòng)重連、不使用SSL、對(duì)零時(shí)間進(jìn)行轉(zhuǎn)換等。spring.datasource.username: 數(shù)據(jù)庫用戶名,這里使用的是root。spring.datasource.password: 數(shù)據(jù)庫密碼,這里使用的是123456。

數(shù)據(jù)庫鏈接池這塊,我們使用的 Spring Boot 默認(rèn)的 HikariCP,它是一個(gè)高性能的連接池實(shí)現(xiàn) , 同時(shí),它號(hào)稱是速度最快的連接池:

spring.datasource.hikari.minimum-idle: Hikari連接池中最小空閑連接數(shù)。spring.datasource.hikari.maximum-pool-size: Hikari連接池中允許的最大連接數(shù)。spring.datasource.hikari.auto-commit: 連接是否自動(dòng)提交事務(wù)。spring.datasource.hikari.idle-timeout: 連接在連接池中閑置的最長時(shí)間,超過這個(gè)時(shí)間會(huì)被釋放。spring.datasource.hikari.pool-name: 連接池的名字。spring.datasource.hikari.max-lifetime: 連接在連接池中的最大存活時(shí)間,超過這個(gè)時(shí)間會(huì)被強(qiáng)制關(guān)閉。spring.datasource.hikari.connection-timeout: 獲取連接的超時(shí)時(shí)間。spring.datasource.hikari.connection-test-query: 用于測(cè)試連接是否可用的SQL查詢,這里使用的是SELECT 1,表示執(zhí)行這個(gè)查詢來測(cè)試連接。

然后,在 xx-module-common?模塊中的?config?包下,新建一個(gè)?MybatisPlusConfig?配置文件,代碼如下:

package com.yanxiaosheng.xx.common.config;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.context.annotation.Configuration;

/**

* @author: 閆小生

* @date: 2023-08-22 16:52

* @description: Mybatis Plus 配置文件

**/

@Configuration

@MapperScan("com.quanxiaoha.weblog.common.domain.mapper")

public class MybatisPlusConfig {

}

@Configuration?: 此注解聲明該類為配置類; @MapperScan?: 掃描 MP 的?mapper?接口存放位置。PS: 數(shù)據(jù)庫相關(guān)的代碼,我們統(tǒng)一放置在?/domain?這個(gè)包中,格式如下:

dos?: 根據(jù)阿里的開發(fā)規(guī)范,統(tǒng)一將數(shù)據(jù)庫對(duì)應(yīng)的實(shí)體類命名為?xxxDO?這種形式,統(tǒng)一存放此包下。mapper?: 統(tǒng)一放置?mapper?接口文件;

實(shí)體類

在?/dos?包中,新建一個(gè)?UserDO?類,字段和數(shù)據(jù)庫中的字段通過轉(zhuǎn)駝峰的形式對(duì)應(yīng)一一對(duì)應(yīng)起來,MP 框架會(huì)默認(rèn)通過這種規(guī)則將字段光聯(lián)在一起,內(nèi)容如下:

package com.yanxiaosheng.xx.common.domain.dos;

import com.baomidou.mybatisplus.annotation.IdType;

import com.baomidou.mybatisplus.annotation.TableId;

import com.baomidou.mybatisplus.annotation.TableName;

import lombok.AllArgsConstructor;

import lombok.Builder;

import lombok.Data;

import lombok.NoArgsConstructor;

import java.util.Date;

/**

* @author: 閆小生

* @date: 2023-08-22 17:01

* @description: TODO

**/

@Data

@AllArgsConstructor

@NoArgsConstructor

@Builder

@TableName("t_user")

public class UserDO {

@TableId(type = IdType.AUTO)

private Long id;

private String username;

private String password;

private Date createTime;

private Date updateTime;

private Boolean isDeleted;

}

新建 Mapper 接口

在?mapper包中,創(chuàng)建一個(gè)?UserMapper?接口,代碼如下:

package com.yanxiaosheng.xx.common.domain.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import com.quanxiaoha.weblog.common.domain.dos.UserDO;

/**

* @author: 閆小生

* @date: 2023-08-22 17:06

* @description: TODO

**/

public interface UserMapper extends BaseMapper {

}

至此,用于操作數(shù)據(jù)的前置代碼都搞定了。

新增一條用戶記錄

接下來,我們通過單元測(cè)試,往數(shù)據(jù)庫中添加一個(gè)測(cè)試記錄,看看能否新增成功。在 xx-web?模塊中的單元測(cè)試類中,新增一個(gè)測(cè)試方法,代碼如下:

@Autowired

private UserMapper userMapper;

@Test

void insertTest() {

// 構(gòu)建數(shù)據(jù)庫實(shí)體類

UserDO userDO = UserDO.builder()

.username("閆小生")

.password("123456")

.createTime(new Date())

.updateTime(new Date())

.isDeleted(false)

.build();

userMapper.insert(userDO);

}

運(yùn)行該測(cè)試方法,看看表中是否被成功插入一條數(shù)據(jù):

可以看到,數(shù)據(jù)插入成功了。

柚子快報(bào)激活碼778899分享:整合 Mybatis Plus

http://yzkb.51969.com/

相關(guān)鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19279030.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄