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

從零開始學(xué)Spring Boot系列-集成mybatis

這篇具有很好參考價值的文章主要介紹了從零開始學(xué)Spring Boot系列-集成mybatis。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在Spring Boot的應(yīng)用開發(fā)中,MyBatis是一個非常流行的持久層框架,它支持定制化SQL、存儲過程以及高級映射。在本篇文章中,我們將學(xué)習(xí)如何在Spring Boot項目中集成MyBatis,以便通過MyBatis進行數(shù)據(jù)庫操作。

添加MyBatis依賴

首先,我們需要在項目中添加MyBatis的依賴。在Spring Boot中,我們通常會使用Gradle或Maven作為構(gòu)建工具來管理項目依賴。這里,我們將以Gradle為例,展示如何添加MyBatis的依賴。

打開項目的build.gradle文件,我們需要添加MyBatis Spring Boot Starter的依賴項。這個依賴項會幫助我們更容易地將MyBatis集成到Spring Boot應(yīng)用中。

plugins {
 id 'java'
 id 'org.springframework.boot' version '3.2.3'
 id 'io.spring.dependency-management' version '1.1.4'
}

group = 'cn.daimajiangxin'
version = '0.0.1-SNAPSHOT'

java {
 sourceCompatibility = '17'
 targetCompatibility = '17'
}

 repositories {
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
}

dependencies {
 implementation 'org.springframework.boot:spring-boot-starter-web'
 compileOnly 'org.projectlombok:lombok'
 annotationProcessor 'org.projectlombok:lombok'
 implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
 runtimeOnly 'mysql:mysql-connector-java:8.0.17'
 implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
}

在上面的build.gradle文件中,我們添加了以下依賴項:

  • spring-boot-starter-web:Spring Boot Web Starter,它包含了構(gòu)建Web應(yīng)用所需的基本依賴。
  • mybatis-spring-boot-starter:MyBatis Spring Boot Starter,它提供了MyBatis和Spring Boot集成的簡化配置。
  • mysql-connector-java:MySQL數(shù)據(jù)庫驅(qū)動,用于連接MySQL數(shù)據(jù)庫。

配置數(shù)據(jù)源和MyBatis

配置好依賴后,你可以通過Gradle的命令行工具來同步項目依賴,或者在IDE中自動同步。一旦依賴同步完成,你就可以開始編寫Mapper接口和XML映射文件,并使用MyBatis來操作數(shù)據(jù)庫了。

請確保你的application.properties或application.yml文件中已經(jīng)配置了正確的數(shù)據(jù)庫連接信息,例如:

# datasource 配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/你的數(shù)據(jù)庫名?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true
spring.datasource.username=你的數(shù)據(jù)庫用戶名
spring.datasource.password=你的數(shù)據(jù)庫密碼
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.show-sql=true

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

創(chuàng)建實體

參考上一篇文章,從零開始學(xué)Spring Boot系列-集成MySQL中創(chuàng)建的User類。

創(chuàng)建Mapper接口和XML文件

在項目的src/main/java目錄下,創(chuàng)建mapper 的一個package ,再創(chuàng)建Mapper接口。例如,創(chuàng)建一個UserMapper.java接口:

package cn.daimajiangxin.springboot.learning.mapper;

import cn.daimajiangxin.springboot.learning.model.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserMapper {
    List<User> findAllUsers();
}

同時,在src/main/resources/mapper/目錄下創(chuàng)建對應(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>

使用Mapper

在你的Service類中,可以通過注入Mapper接口來使用MyBatis的功能。例如,在UserService.java中:

package cn.daimajiangxin.springboot.learning.service;

import cn.daimajiangxin.springboot.learning.mapper.UserMapper;
import cn.daimajiangxin.springboot.learning.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {
    private final UserMapper userMapper;

    @Autowired
    public UserService(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    public List<User> getAllUsers() {
        return userMapper.findAllUsers();
    }

    // 添加其他業(yè)務(wù)邏輯方法...
}

創(chuàng)建Controller

參考上一篇文章,從零開始學(xué)Spring Boot系列-集成MySQL中創(chuàng)建的UserController 類。

測試集成效果

運行你的Spring Boot應(yīng)用程序,并通過調(diào)用UserService的findAllUsers方法來測試MyBatis的集成效果。你可以通過編寫單元測試或使用Postman或apipost等工具來發(fā)送HTTP請求,訪問來http://localhost:8080/users查看所有用戶的列表。

總結(jié)

通過以上步驟,我們成功地在Spring Boot項目中集成了MyBatis,并通過編寫Mapper接口和XML映射文件,實現(xiàn)了數(shù)據(jù)庫的操作。這只是集成MyBatis的基礎(chǔ)示例,你可以進一步探索MyBatis的高級特性,如動態(tài)SQL、結(jié)果映射等,以滿足更復(fù)雜的業(yè)務(wù)需求。同時,結(jié)合Spring Boot的其他功能,你可以構(gòu)建出功能強大且易于維護的應(yīng)用程序。


我是代碼匠心,和我一起學(xué)習(xí)更多精彩知識?。?!掃描二維碼!關(guān)注我,實時獲取推送。

源文來自:https://daimajiangxin.cn文章來源地址http://www.zghlxwxcb.cn/news/detail-838010.html

到了這里,關(guān)于從零開始學(xué)Spring Boot系列-集成mybatis的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

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

    2024年04月10日
    瀏覽(27)
  • 從零開始 Spring Boot 28:資源

    從零開始 Spring Boot 28:資源

    圖源:簡書 (jianshu.com) Spring中的資源被抽象為一個Resource接口: Resource 接口中最重要的一些方法是。 getInputStream() : 定位并打開資源,返回一個用于讀取資源的 InputStream 。我們期望每次調(diào)用都能返回一個新的 InputStream 。關(guān)閉該流是調(diào)用者的責(zé)任。 exists() : 返回一個 boolean 值,

    2024年02月05日
    瀏覽(23)
  • 從零開始 Spring Boot 63:Hibernate 繼承映射

    從零開始 Spring Boot 63:Hibernate 繼承映射

    圖源:簡書 (jianshu.com) 關(guān)系型數(shù)據(jù)庫設(shè)計中是不存在繼承概念的,但實體類可以用繼承來組織代碼結(jié)構(gòu),所以需要用一種方式將實體類的繼承結(jié)構(gòu)映射到表結(jié)構(gòu)。 本文將介紹幾種在 JPA(Hibernate)中映射實體類繼承層次的方式。 第一種方式是用 @MappedSuperclass 標(biāo)記超類(Super

    2024年02月12日
    瀏覽(19)
  • Spring Boot(04):讓你的Spring Boot應(yīng)用“火力全開”,從零開始學(xué)習(xí)starter

    Spring Boot(04):讓你的Spring Boot應(yīng)用“火力全開”,從零開始學(xué)習(xí)starter

    ????????Spring Boot是一款非常流行的Java開發(fā)框架,其具有快速開發(fā)、自動化配置、內(nèi)嵌服務(wù)器、易于擴展等特點,因此備受開發(fā)者歡迎。在日常開發(fā)中,我們經(jīng)常需要在不同的環(huán)境中進行測試和部署,此時,如何實現(xiàn)開發(fā)、測試、生產(chǎn)環(huán)境的快速切換,成為了我們需要解決

    2024年04月13日
    瀏覽(22)
  • 從零開始 Spring Boot 37:初始化 ApplicationContext

    從零開始 Spring Boot 37:初始化 ApplicationContext

    圖源:簡書 (jianshu.com) 從前文可以知道,作為 Ioc 容器的 ApplicationContext,需要進行一系列步驟來初始化以最終就緒(對于 Web 應(yīng)用來說就是可以提供Http服務(wù))。 這些步驟大概可以分為以下內(nèi)容: 準(zhǔn)備上下文關(guān)聯(lián)的 Environment 。 初始化 ApplicationContext( ApplicationContextInitializers

    2024年02月08日
    瀏覽(26)
  • 從零開始 Spring Boot 38:Lombok 與依賴注入

    從零開始 Spring Boot 38:Lombok 與依賴注入

    圖源:簡書 (jianshu.com) 在之前的文章中,我詳細介紹了 Lombok 的用法,考慮到在 Spring 中使用依賴注入(DI)是如此的頻繁,因此有必要討論使用 Lombok 時可能對依賴注入造成的影響。 我們都知道,Spring 中的依賴注入分為三種情況: 通過屬性進行依賴注入。 通過構(gòu)造器進行依

    2024年02月08日
    瀏覽(37)
  • 從零開始 Spring Boot 52:@Embedded 和 @Embeddable

    從零開始 Spring Boot 52:@Embedded 和 @Embeddable

    圖源:簡書 (jianshu.com) 這篇文章會介紹 @Embedded 和 @Embeddable 兩個注解在 JPA 中的用法。 先看一個示例: 這里使用了 Lombok 相關(guān)注解(比如 @Builder )幫助構(gòu)建實體類,詳細內(nèi)容可以閱讀我的相關(guān)文章。 user_student 是一個學(xué)生表,其中的 contacts_ 開頭的字段保存聯(lián)系人信息,這體

    2024年02月12日
    瀏覽(17)
  • 實現(xiàn)Spring Boot集成MyBatis

    在Java開發(fā)中,Spring Boot和MyBatis是非常常用的框架。Spring Boot是一個快速開發(fā)應(yīng)用程序的框架,而MyBatis是一個持久化框架,可以方便地操作數(shù)據(jù)庫。本文將介紹如何使用Idea集成Spring Boot和MyBatis,并創(chuàng)建一個簡單的示例項目。 步驟1:創(chuàng)建Spring Boot項目 1、打開Idea,點擊\\\"Create N

    2024年02月09日
    瀏覽(29)
  • 從零開始 Spring Boot 49:Hibernate Entity Lifecycle

    從零開始 Spring Boot 49:Hibernate Entity Lifecycle

    圖源:簡書 (jianshu.com) 本文將介紹 Hibernate 的 Session 接口,以及如何用 Session 的相關(guān) API 轉(zhuǎn)換實體(Entity)的生命周期狀態(tài)。 如果缺少的 JPA 和 Hibernate 的基本認識,可以閱讀前篇文章。 持久化上下文 在 JPA 的相關(guān)概念中,存在一個 持久化上下文 (Persistence Context)。 持久化

    2024年02月11日
    瀏覽(58)
  • 7. Spring Boot 與MyBatis集成

    在我們?nèi)粘5拈_發(fā)過程中,肯定不可避免的會使用到數(shù)據(jù)庫以及 SQL 語句。比如,剛開始學(xué)習(xí) Java 的時候可能會遇到 JDBC,它是連接 Java 和數(shù)據(jù)庫的橋梁,我們可以使用 JDBC 來建立與數(shù)據(jù)庫之間的連接并且執(zhí)行相應(yīng)的 SQL 語句。雖然 JDBC 的執(zhí)行效率很高,但是其開發(fā)效率比較低

    2024年01月25日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包