国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從零開(kāi)始學(xué)Spring Boot系列-集成MyBatis-Plus

這篇具有很好參考價(jià)值的文章主要介紹了從零開(kāi)始學(xué)Spring Boot系列-集成MyBatis-Plus。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在Spring Boot應(yīng)用開(kāi)發(fā)中,MyBatis-Plus是一個(gè)強(qiáng)大且易于使用的MyBatis增強(qiáng)工具,它提供了很多實(shí)用的功能,如代碼生成器、條件構(gòu)造器、分頁(yè)插件等,極大地簡(jiǎn)化了MyBatis的使用和配置。本篇文章將指導(dǎo)大家如何在Spring Boot項(xiàng)目中集成MyBatis-Plus。

一、項(xiàng)目準(zhǔn)備

首先,確保你已經(jīng)安裝了Java開(kāi)發(fā)環(huán)境(JDK)和Maven或Gradle等構(gòu)建工具。接下來(lái),創(chuàng)建一個(gè)新的Spring Boot項(xiàng)目。你可以使用Spring Initializrhttps://start.spring.io來(lái)快速生成項(xiàng)目結(jié)構(gòu),選擇你需要的依賴項(xiàng),比如Spring Web、MySQL Driver等。

二、添加MyBatis-Plus依賴

在Gradle項(xiàng)目中集成MyBatis-Plus,你需要在項(xiàng)目的build.gradle文件中添加MyBatis-Plus的依賴。以下是添加MyBatis-Plus依賴的示例:

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'
        runtimeOnly 'mysql:mysql-connector-java:8.0.17'
        // MyBatis-Plus 依賴
        implementation 'com.baomidou:mybatis-plus-spring-boot3-starter:3.5.6'
        // 如果需要分頁(yè)插件,可以添加以下依賴
        implementation 'com.baomidou:mybatis-plus-extension:3.5.6'
    }

三、配置數(shù)據(jù)源

在application.properties或application.yml文件中,配置你的數(shù)據(jù)庫(kù)連接信息。以下是application.yml的示例:

# datasource
spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true  
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# mybatis-plus
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.type-aliases-package=cn.daimajiangxin.springboot.learning.model

這里的your_database、your_username和your_password需要替換為你的數(shù)據(jù)庫(kù)名稱、用戶名和密碼。mapper-locations指定了MyBatis映射文件的位置,type-aliases-package指定了實(shí)體類所在的包。

四、創(chuàng)建實(shí)體類

創(chuàng)建與數(shù)據(jù)庫(kù)表對(duì)應(yīng)的實(shí)體類,并放在type-aliases-package指定的包下。

package cn.daimajiangxin.springboot.learning.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;

@TableName(value ="user")
@Data
public class User implements Serializable {
    /**
     * 學(xué)生ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 姓名
     */
    private String name;

    /**
     * 郵箱
     */
    private String email;

    /**
     * 年齡
     */
    private Integer age;

    /**
     * 備注
     */
    private String remark;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}

五、創(chuàng)建Mapper接口

創(chuàng)建對(duì)應(yīng)的Mapper接口,通常放在與實(shí)體類相同的包下,并繼承BaseMapper 接口。例如:

package cn.daimajiangxin.springboot.learning.mapper;

import cn.daimajiangxin.springboot.learning.model.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {

}

六、創(chuàng)建Mapper XML文件

在resources的mapper目錄下創(chuàng)建對(duì)應(yīng)的XML文件,例如UserMapper.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.daimajiangxin.springboot.learning.mapper.UserMapper">

    <resultMap id="BaseResultMap" type="cn.daimajiangxin.springboot.learning.model.User">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="name" column="name" jdbcType="VARCHAR"/>
            <result property="email" column="email" jdbcType="VARCHAR"/>
            <result property="age" column="age" jdbcType="INTEGER"/>
            <result property="remark" column="remark" jdbcType="VARCHAR"/>
    </resultMap>

    <sql id="Base_Column_List">
        id,name,email,age,remark
    </sql>
  
    <select id="findAllUsers"  resultMap="BaseResultMap">
     select
       <include refid="Base_Column_List"></include>
     from user
    </select>
</mapper>

七、創(chuàng)建Service 接口

在service目錄下服務(wù)類接口UserService

package cn.daimajiangxin.springboot.learning.service;

import cn.daimajiangxin.springboot.learning.model.User;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserService extends IService<User> {

}

八、創(chuàng)建Service實(shí)現(xiàn)類

在service目錄下創(chuàng)建一個(gè)impl目錄,并創(chuàng)建UserService實(shí)現(xiàn)類UserServiceImpl

package cn.daimajiangxin.springboot.learning.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.daimajiangxin.springboot.learning.model.User;
import cn.daimajiangxin.springboot.learning.service.UserService;
import cn.daimajiangxin.springboot.learning.mapper.UserMapper;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User>implements UserService{

}

九、創(chuàng)建Controller

控制層注入 UserService,并使用IService的list和save 方法。

package cn.daimajiangxin.springboot.learning.controller;

import cn.daimajiangxin.springboot.learning.model.User;
import cn.daimajiangxin.springboot.learning.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {
    private final UserService userService;

    @Autowired
    public UserController(UserService userService) {
        this.userService = userService;
    }
    @GetMapping("/users")
    public List<User> getAllUsers() {
        return userService.list();
    }
    @PostMapping("/user")
    public String add() {
        User user=new User();
        user.setName("test");
        user.setAge(18);
        user.setEmail("test@163.com");
        userService.save(user);
        return "保存成功";
    }

}

十、測(cè)試

運(yùn)行你的Spring Boot應(yīng)用程序,并通過(guò)調(diào)用UserService的list方法來(lái)測(cè)試MyBatis-plus的集成效果。你可以通過(guò)編寫(xiě)單元測(cè)試或使用Postman或apipost等工具來(lái)發(fā)送HTTP請(qǐng)求,訪問(wèn)來(lái)http://localhost:8080/users查看所有用戶的列表。
從零開(kāi)始學(xué)Spring Boot系列-集成MyBatis-Plus

總結(jié)

在本篇文章中,我們?cè)敿?xì)介紹了如何在Spring Boot項(xiàng)目中集成MyBatis-Plus,并使用XML文件定義Mapper接口的實(shí)現(xiàn)。首先,我們添加了MyBatis-Plus的依賴,并配置了數(shù)據(jù)源。接著,我們創(chuàng)建了實(shí)體類,并使用了MyBatis-Plus的注解來(lái)指定實(shí)體類與數(shù)據(jù)庫(kù)表的映射關(guān)系。然后,我們創(chuàng)建了Mapper接口,并繼承了BaseMapper以使用MyBatis-Plus提供的CRUD方法。為了更靈活地控制SQL語(yǔ)句的編寫(xiě),我們還編寫(xiě)了Mapper的XML文件,并在其中定義了自定義的SQL語(yǔ)句。最后,在Service層或Controller層中,我們通過(guò)注入Mapper接口來(lái)使用這些功能。

通過(guò)集成MyBatis-Plus并使用XML實(shí)現(xiàn)Mapper,我們可以在Spring Boot項(xiàng)目中高效地進(jìn)行數(shù)據(jù)庫(kù)操作,同時(shí)保持代碼的清晰和可維護(hù)性。MyBatis-Plus的增強(qiáng)功能和XML的靈活性相結(jié)合,使得數(shù)據(jù)訪問(wèn)層的開(kāi)發(fā)變得更加簡(jiǎn)單和高效。


我是代碼匠心,和我一起學(xué)習(xí)更多精彩知識(shí)?。?!掃描二維碼!關(guān)注我,實(shí)時(shí)獲取推送。
從零開(kāi)始學(xué)Spring Boot系列-集成MyBatis-Plus
源文來(lái)自:https://daimajiangxin.cn文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-844134.html

到了這里,關(guān)于從零開(kāi)始學(xué)Spring Boot系列-集成MyBatis-Plus的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • spring boot集成mybatis-plus——Mybatis Plus 新增數(shù)據(jù)并返回主鍵 ID(圖文講解)

    spring boot集成mybatis-plus——Mybatis Plus 新增數(shù)據(jù)并返回主鍵 ID(圖文講解)

    ?更新時(shí)間 2023-01-10 15:37:37 大家好,我是小哈。 本小節(jié)中,我們將學(xué)習(xí)如何通過(guò) Mybatis Plus 框架給數(shù)據(jù)庫(kù)表新增數(shù)據(jù),主要內(nèi)容思維導(dǎo)圖如下: Mybatis Plus 新增數(shù)據(jù)思維導(dǎo)圖 為了演示新增數(shù)據(jù),在前面小節(jié)中,我們已經(jīng)定義好了一個(gè)用于測(cè)試的用戶表, 執(zhí)行腳本如下: 定義一

    2024年02月02日
    瀏覽(40)
  • spring boot集成mybatis-plus——Mybatis Plus 多表聯(lián)查(包含分頁(yè)關(guān)聯(lián)查詢,圖文講解)...

    spring boot集成mybatis-plus——Mybatis Plus 多表聯(lián)查(包含分頁(yè)關(guān)聯(lián)查詢,圖文講解)...

    ?更新時(shí)間 2023-01-03 21:41:38 大家好,我是小哈。 本小節(jié)中,我們將學(xué)習(xí)如何通過(guò) Mybatis Plus 實(shí)現(xiàn) 多表關(guān)聯(lián)查詢 ,以及 分頁(yè)關(guān)聯(lián)查詢 。 本文以 查詢用戶所下訂單 ,來(lái)演示 Mybatis Plus 的關(guān)聯(lián)查詢,數(shù)據(jù)庫(kù)表除了前面小節(jié)中已經(jīng)定義好的用戶表外,再額外創(chuàng)建一張訂單表,然后

    2024年02月01日
    瀏覽(25)
  • 從零開(kāi)始學(xué)Spring Boot系列-前言

    在數(shù)字化和信息化的時(shí)代,Java作為一種成熟、穩(wěn)定且廣泛應(yīng)用的編程語(yǔ)言,已經(jīng)成為構(gòu)建企業(yè)級(jí)應(yīng)用的首選。而在Java生態(tài)系統(tǒng)中,Spring框架無(wú)疑是其中最為耀眼的一顆明星。它提供了全面的編程和配置模型,用于構(gòu)建企業(yè)級(jí)應(yīng)用。隨著Spring Boot的出現(xiàn),這一框架變得更加易于

    2024年02月22日
    瀏覽(34)
  • 從零開(kāi)始學(xué)Spring Boot系列-SpringApplication

    SpringApplication類提供了一種從main()方法啟動(dòng)Spring應(yīng)用的便捷方式。在很多情況下, 你只需委托給 SpringApplication.run這個(gè)靜態(tài)方法 : 當(dāng)應(yīng)用啟動(dòng)時(shí), 你應(yīng)該會(huì)看到類似下面的東西: 默認(rèn)情況下會(huì)顯示INFO級(jí)別的日志信息, 包括一些相關(guān)的啟動(dòng)詳情, 比如啟動(dòng)應(yīng)用的用戶等。 通過(guò)

    2024年04月08日
    瀏覽(27)
  • 從零開(kāi)始學(xué)Spring Boot系列-外部化配置

    從零開(kāi)始學(xué)Spring Boot系列-外部化配置

    Spring Boot 允許你將配置外部化,以便可以在不同的環(huán)境中使用相同的應(yīng)用程序代碼??梢允褂脤傩晕募?、YAML文件、環(huán)境變量和命令行參數(shù)將配置外部化。屬性值可以通過(guò)使用 @Value 注解直接注入 bean,可以通過(guò) Spring 的 Environment 抽象訪問(wèn),也可以通過(guò) @ConfigurationProperties。 Sp

    2024年04月10日
    瀏覽(27)
  • Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus(二)條件查詢QueryWrapper、聚合函數(shù)的使用、Lambda條件查詢

    Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus(二)條件查詢QueryWrapper、聚合函數(shù)的使用、Lambda條件查詢

    學(xué)習(xí)視頻:【編程不良人】Mybatis-Plus整合SpringBoot實(shí)戰(zhàn)教程,提高的你開(kāi)發(fā)效率,后端人員必備! 普通查詢 條件構(gòu)造器查詢 【重要】 AbstractWrapper ?是 MyBatis Plus 中的一個(gè)抽象類,用于構(gòu)建 SQL 查詢條件。定義了泛型? T 、 C ?和? Children 。其中, T ?表示實(shí)體類的類型, C ?表示查

    2024年02月04日
    瀏覽(24)
  • Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus,第一個(gè)MP程序(環(huán)境搭建、@TableName、@TableId、@TableField示例)

    Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus,第一個(gè)MP程序(環(huán)境搭建、@TableName、@TableId、@TableField示例)

    學(xué)習(xí)視頻:【編程不良人】Mybatis-Plus整合SpringBoot實(shí)戰(zhàn)教程,提高的你開(kāi)發(fā)效率,后端人員必備! MyBatis-Plus是一個(gè)基于MyBatis的增強(qiáng)工具,旨在簡(jiǎn)化開(kāi)發(fā),提高效率。它擴(kuò)展了MyBatis的功能,提供了許多實(shí)用的特性,包括強(qiáng)大的CRUD操作、條件構(gòu)造器、分頁(yè)插件、代碼生成器等。MyBa

    2024年02月04日
    瀏覽(24)
  • Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus(一),第一個(gè)MP程序(環(huán)境搭建、@TableName、@TableId、@TableField示例)

    Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus(一),第一個(gè)MP程序(環(huán)境搭建、@TableName、@TableId、@TableField示例)

    學(xué)習(xí)視頻:【編程不良人】Mybatis-Plus整合SpringBoot實(shí)戰(zhàn)教程,提高的你開(kāi)發(fā)效率,后端人員必備! MyBatis-Plus是一個(gè)基于MyBatis的增強(qiáng)工具,旨在簡(jiǎn)化開(kāi)發(fā),提高效率。它擴(kuò)展了MyBatis的功能,提供了許多實(shí)用的特性,包括強(qiáng)大的CRUD操作、條件構(gòu)造器、分頁(yè)插件、代碼生成器等。MyBa

    2024年02月04日
    瀏覽(17)
  • Spring Boot學(xué)習(xí)隨筆- 集成MyBatis-Plus(三)自定義SQL、分頁(yè)實(shí)現(xiàn)(PaginationInterceptor )、更新和刪除詳細(xì)方法

    學(xué)習(xí)視頻:【編程不良人】Mybatis-Plus整合SpringBoot實(shí)戰(zhàn)教程,提高的你開(kāi)發(fā)效率,后端人員必備! 自定義mapper文件是為了應(yīng)對(duì)一些更復(fù)雜的查詢場(chǎng)景,首先先配置映射路徑 由于這里的mapper文件放在java文件夾中,所以要在pom.xml里進(jìn)行配置 mapper 測(cè)試 在MyBatis Plus中, 物理分頁(yè) 和 內(nèi)

    2024年02月03日
    瀏覽(26)
  • Spring Boot整合MyBatis-Plus

    Spring Boot整合MyBatis-Plus

    引言 在現(xiàn)代軟件開(kāi)發(fā)中,我們經(jīng)常需要處理大量的數(shù)據(jù)。為了有效地管理這些數(shù)據(jù),我們需要使用一些強(qiáng)大的框架。其中,Spring Boot和MyBatis-Plus是兩個(gè)非常流行的框架。Spring Boot是一個(gè)基于Spring的開(kāi)源Java框架,可以用于創(chuàng)建獨(dú)立的、生產(chǎn)級(jí)別的Spring應(yīng)用。MyBatis-Plus是一個(gè)MyB

    2024年01月19日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包