目次
最初: MySQL データベースを作成する
2 番目: SpringBoot プロジェクトを作成し、必要な依存関係パッケージを導入します
Dao パッケージ: UserDao インターフェイス、コンテンツは次のとおりです:
第五:测试结果(这里我用的postman来进行接口测试)
ホームページ Java &#&チュートリアル SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

May 13, 2023 am 10:37 AM
mybatis springboot

最初: MySQL データベースを作成する

まず、CRUD データを操作するためのデータベースを作成する必要があります (ビジュアル ツールを使用して作成することも、SQL コマンドを使用して作成することもできます)。データベース 自分で定義できます。データベースを作成した後、データを保存するテーブルを作成する必要があります。テーブルの名前は「ユーザー」テーブルです。フィールドは、以下に対応する限り自分で設定できます。エンティティは後で作成します。

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

CREATE TABLE `user` (
  `userId` bigint NOT NULL AUTO_INCREMENT,
  `userName` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  `userAddress` varchar(255) COLLATE utf8mb4_bin NOT NULL,
  PRIMARY KEY (`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
ログイン後にコピー

2 番目: SpringBoot プロジェクトを作成し、必要な依存関係パッケージを導入します

IDEA を使用して SpringBoot プロジェクトを作成します:

  • 1. 作成する Spring Initializr を選択し、JDK 1.8、Java8 バージョンを選択します。

  • 2. 使用できる初期化コンポーネントとして、Spring Web、JDBC API、Mybatis Framework、MySQL Driver、および Lombok を選択します。

  • 3. 選択後、「完了」をクリックして作成します。

  • 4. SpringBoot を作成した後、Maven が適切に構成されているかどうかを確認してください。そうでない場合は、Maven の構成方法を確認してください。そうでない場合、pom の依存関係は読み込まれません。Maven をダウンロードするだけです。 Alibaba ソース イメージ アドレスとローカル ウェアハウスを変更し、IDEA で Maven の XML ファイルとローカル ウェアハウス アドレスを選択します。

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

#上記は必要な依存関係パッケージを導入するのを忘れた場合は、プロジェクトを再作成せずに直接追加できます。

3 番目: プログラム ディレクトリを作成し、コアの application.xml ファイルを構成します。

最初に、 Entity (ユーザー エンティティ)、Controller、Service、Dao の 4 つのフォルダーを作成し、リソース ディレクトリの下に SQL ステートメントを格納するために使用される新しい Mapper ディレクトリを作成する必要があります。この時点で、MVC モデルを理解する必要があると思います。アクセスは一度に 1 層ずつ呼び出され、データのクエリ後に過去に戻るため、レベルは次のようになります。フロントエンドから渡されたパラメータを受け取る層) -> サービス(ビジネス層、判断や一部のループステートメントなどのすべての業務をこの層で記述する必要があります) -> Dao(永続層、主にこの層)データベースを扱い、主にデータ操作を担当します。つまり CRUD 操作) -> データベース、

は次の図に示すとおりです。

特に良い描画ツールはなく、適当に描いただけですが、データの流れはこんな感じですので、見てみてください。

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

#リソース フォルダーに yml ファイルを作成し、次の内容を入力します:

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

server:
  port: 8080    //本机的端口号
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/自己数据库的名称?useUnicode=true & characterEncoding=utf-8 &
      useSSL=true & serverTimezone=Asia/Shanghai
    username: root      //数据库的用户名
    password: xxxxxx    //数据库的密码

mybatis:
  mapper-locations: classpath:/Mapper/*.xml
  type-aliases-package: com.example.test.Entity    //这个是扫描到Entity实体包的路径,可根据自己的配置
ログイン後にコピー

##yml ファイルを構成した後、右側のデータベースに移動して、ローカルの MySQL データベースに接続できるかどうかを確認します。

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

#データ テーブル名 (ここでのテーブルはユーザー テーブル)、ユーザー名とパスワード、データベース名を入力します。

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法4 番目: エンティティ、Dao、サービス、およびコントローラー レイヤーを書き込みます。 sequence を作成し、mapper.xml ファイルを作成します。

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法Entity パッケージ: UserEntity クラスを作成します。内容は次のとおりです。

public class UserEntity {
    private Integer userId;
    private String userName;
    private String userAddress;

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserAddress() {
        return userAddress;
    }

    public void setUserAddress(String userAddress) {
        this.userAddress = userAddress;
    }
}
ログイン後にコピー

Dao パッケージ: UserDao インターフェイス、コンテンツは次のとおりです:

import com.example.test.Entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface UserDao {
     List<UserEntity> queryLimit(Integer currentPage, Integer pageSize);

     Integer addUser(UserEntity user);

     Integer updateUser(UserEntity user);

     Integer deleteUser(UserEntity user);
}
ログイン後にコピー
Service パッケージ: 次のコンテンツを含む UserService クラスを作成します:

import com.example.test.Dao.UserDao;
import com.example.test.Entity.UserEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("UserService")
public class UserService {
    @Autowired
    private UserDao userDao;

    public List<UserEntity> queryLimit(Integer currentPage,Integer pageSzie){
        return userDao.queryLimit(currentPage,pageSzie);
    }

    public Integer addUser(UserEntity user){
        return userDao.addUser(user);
    }

    public Integer updateUser(UserEntity user){
        return userDao.updateUser(user);
    }

    public Integer deleteUser(UserEntity user){
        return userDao.deleteUser(user);
    }
}
ログイン後にコピー

Controller パッケージ: 作成次の内容を含む UserController クラス:
import com.example.test.Entity.UserEntity;
import com.example.test.Service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("user")
public class UserController {
    @Autowired
    private UserService userService;

    String message = "";
    @RequestMapping("/queryLimit")
    public List<UserEntity> queryLimit(@RequestParam("currentPage") Integer currentPage,@RequestParam("pageSize") Integer pageSize){
        return userService.queryLimit(currentPage,pageSize);
    }

    @PostMapping("/addUser")
    public String addUer(@RequestBody UserEntity user){
        //用Mybatis执行insert语句的时候,插入成功会返回1,不成功则会抛出异常,捕获一下异常就好
        try {
            userService.addUser(user);
            message = "增加用户成功";
        }catch (Exception exception){
            message = "增加用户异常";
        }
        return message;
    }

    @PutMapping("/updateUser")
    public String updateUser(@RequestBody UserEntity user){
        //Mybatis的更新操作成功返回1,用户不存在返回0,失败则抛异常
        try {
            message = userService.updateUser(user) == 1?"更新用户成功":"用户不存在,更新失败";
        }catch (Exception exception){
            message = "更新异常";
        }
        return message;
    }

    @DeleteMapping("/deleteUser")
    public String deleteUser(@RequestBody UserEntity user){
        //Mybatis的删除操作和更新返回值一样,成功返回1,用户不存在返回0,失败则抛异常
        try {
            message = userService.deleteUser(user) == 1?"删除用户成功":"用户不存在,删除失败";
        }catch (Exception exception){
            message = "删除异常";
        }
        return message;
    }
}
ログイン後にコピー

上記の内容を記述した後、以下に示すように、Mapper フォルダーに Mapper.xml ファイルを作成する必要があります。

#

mapper.xml文件内容如下:需要注意的地方是namespace:这个路径是你的UserDao接口的路径,因为你传过来的数据需要和xml进行一个绑定,这样你编写的SQL语句才能接收到你前端传过来的数据(大体意思可以这么理解),而id则是和你UserDao中的接口方法相对应,比如我的UserDao接口中的查找方法命名是queryLimit,那么我在xml文件中的查询语句的id就应该和queryLimit想对应,即:id=“queryLimit”。
resultType是返回数据的类型
parameterType则是传入的数据类型

<?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="com.example.test.Dao.UserDao">
    <select id="queryLimit" resultType="UserEntity">
        select * from user limit #{currentPage},#{pageSize};
    </select>

    <insert id="addUser" parameterType="UserEntity">
        insert into user(userName,userAddress) values(#{userName},#{userAddress});
    </insert>

    <update id="updateUser" parameterType="UserEntity">
        update user set userName=#{userName},userAddress=#{userAddress} where userId=#{userId};
    </update>

    <delete id="deleteUser" parameterType="UserEntity">
        delete from user where userId=#{userId};
    </delete>
</mapper>
ログイン後にコピー

最后我们需要在启动类加一点东西(MapperScan扫描的是我们Dao包的地址,填写自己的就好)

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

第五:测试结果(这里我用的postman来进行接口测试)

查询用户数据->地址为:http://localhost:8080/user/queryLimit?currentPage=0&pageSize=5

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

添加用户数据-> 地址为:http://localhost:8080/user/addUser

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

数据库也能看到数据:

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

更新用户数据-> 地址为:http://localhost:8080/user/updateUser

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

更新之后数据库数据为:

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

删除用户数据-> 地址为:http://localhost:8080/user/deleteUser

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

查看数据库数据已经删除:

SpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法

以上がSpringBoot が Mybatis を統合して追加、削除、変更、クエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iBatis と MyBatis: どちらがあなたにとって優れていますか? iBatis と MyBatis: どちらがあなたにとって優れていますか? Feb 19, 2024 pm 04:38 PM

iBatis と MyBatis: どちらを選択するべきですか?はじめに: Java 言語の急速な発展に伴い、多くの永続化フレームワークが登場しました。 iBatis と MyBatis は 2 つの人気のある永続化フレームワークであり、どちらもシンプルで効率的なデータ アクセス ソリューションを提供します。この記事では、iBatis と MyBatis の機能と利点を紹介し、適切なフレームワークを選択するのに役立つ具体的なコード例をいくつか示します。 iBatis の紹介: iBatis はオープンソースの永続化フレームワークです。

MyBatis でバッチ削除操作を実装するさまざまな方法 MyBatis でバッチ削除操作を実装するさまざまな方法 Feb 19, 2024 pm 07:31 PM

MyBatis でバッチ削除ステートメントを実装するいくつかの方法には、特定のコード例が必要です。近年、データ量の増加により、バッチ操作がデータベース操作の重要な部分になっています。実際の開発では、データベース内のレコードを一括で削除する必要が生じることがよくあります。この記事では、MyBatis でバッチ削除ステートメントを実装するいくつかの方法に焦点を当て、対応するコード例を示します。 foreach タグを使用してバッチ削除を実装します。MyBatis は、セットを簡単に横断できる foreach タグを提供します。

MyBatis動的SQLタグのSetタグ機能の詳細説明 MyBatis動的SQLタグのSetタグ機能の詳細説明 Feb 26, 2024 pm 07:48 PM

MyBatis 動的 SQL タグの解釈: Set タグの使用法の詳細な説明 MyBatis は、豊富な動的 SQL タグを提供し、データベース操作ステートメントを柔軟に構築できる優れた永続層フレームワークです。このうち、Set タグは、UPDATE ステートメントで SET 句を生成するために使用され、更新操作でよく使用されます。この記事では、MyBatis での Set タグの使用法を詳細に説明し、特定のコード例を通じてその機能を示します。 SetタグとはMyBatiで使用するSetタグです。

JPAとMyBatisの機能・性能の比較分析 JPAとMyBatisの機能・性能の比較分析 Feb 19, 2024 pm 05:43 PM

JPA と MyBatis: 機能とパフォーマンスの比較分析 はじめに: Java 開発では、永続化フレームワークが非常に重要な役割を果たします。一般的な永続化フレームワークには、JPA (JavaPersistenceAPI) や MyBatis などがあります。この記事では、2 つのフレームワークの機能とパフォーマンスを比較分析し、具体的なコード例を示します。 1. 機能の比較: JPA: JPA は JavaEE の一部であり、オブジェクト指向のデータ永続化ソリューションを提供します。アノテーションまたはXが渡されます

MyBatis バッチ削除ステートメントの使用方法の詳細な説明 MyBatis バッチ削除ステートメントの使用方法の詳細な説明 Feb 20, 2024 am 08:31 AM

MyBatis バッチ削除ステートメントの使用方法の詳細な説明には、特定のコード例が必要です はじめに: MyBatis は、豊富な SQL 操作機能を提供する優れた永続層フレームワークです。実際のプロジェクト開発では、データを一括で削除する必要がある場面に遭遇することがよくあります。この記事では、MyBatis のバッチ削除ステートメントの使用方法を詳しく紹介し、具体的なコード例を添付します。使用シナリオ: データベース内の大量のデータを削除する場合、削除ステートメントを 1 つずつ実行するのは非効率です。このとき、MyBatisの一括削除機能が利用できます。

MyBatis 1次キャッシュの詳細解説:データアクセス効率を高めるには? MyBatis 1次キャッシュの詳細解説:データアクセス効率を高めるには? Feb 23, 2024 pm 08:13 PM

MyBatis 1次キャッシュの詳細解説:データアクセス効率を高めるには?開発プロセス中、効率的なデータ アクセスは常にプログラマーの焦点の 1 つでした。 MyBatis のような永続層フレームワークの場合、キャッシュはデータ アクセス効率を向上させるための重要な方法の 1 つです。 MyBatis は、一次キャッシュと二次キャッシュという 2 つのキャッシュ メカニズムを提供しており、一次キャッシュはデフォルトで有効になっています。この記事では、MyBatis の 1 次キャッシュのメカニズムを詳細に紹介し、読者の理解を深めるために具体的なコード例を示します。

MyBatis Generator 設定パラメータの解釈とベスト プラクティス MyBatis Generator 設定パラメータの解釈とベスト プラクティス Feb 23, 2024 am 09:51 AM

MyBatisGenerator は、MyBatis が公式に提供するコード生成ツールで、開発者がデータベース テーブル構造に準拠した JavaBeans、Mapper インターフェイス、および XML マッピング ファイルを迅速に生成するのに役立ちます。コード生成に MyBatisGenerator を使用するプロセスでは、構成パラメーターの設定が重要です。この記事では、構成パラメータの観点から開始し、MyBatisGenerator の機能を詳しく説明します。

MyBatisのキャッシュ機構を解析:一次キャッシュと二次キャッシュの特徴と使い方を比較 MyBatisのキャッシュ機構を解析:一次キャッシュと二次キャッシュの特徴と使い方を比較 Feb 25, 2024 pm 12:30 PM

MyBatis のキャッシュ メカニズムの分析: 1 次キャッシュと 2 次キャッシュの違いと応用 MyBatis フレームワークでは、キャッシュはデータベース操作のパフォーマンスを効果的に向上させることができる非常に重要な機能です。そのうち、一次キャッシュと二次キャッシュは、MyBatis でよく使用される 2 つのキャッシュ メカニズムです。この記事では、一次キャッシュと二次キャッシュの違いと用途を詳細に分析し、具体的なコード例を示して説明します。 1. レベル 1 キャッシュ レベル 1 キャッシュはローカル キャッシュとも呼ばれ、デフォルトで有効になっており、オフにすることはできません。 1次キャッシュはSqlSesです

See all articles