ホームページ Java &#&チュートリアル mybatis XML を springboot に統合する方法

mybatis XML を springboot に統合する方法

May 10, 2023 pm 09:43 PM
xml mybatis springboot

springboot は mybatis

1 を統合し、pom 参照を追加します

 <dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.1.1</version>
 </dependency>
   <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
   </dependency>
ログイン後にコピー

2 application.properties

mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.type-aliases-package=com.kerry.model
 
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456
ログイン後にコピー

3 をリソースに追加しますこのディレクトリの下に mybatis ディレクトリを作成し、mybatis-config.xml ファイルを作成します。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
 <settings>
 <setting name="callSettersOnNulls" value="true"/>
 
 <setting name="cacheEnabled" value="true"/>
 
 <setting name="lazyLoadingEnabled" value="true"/>
 
 <setting name="aggressiveLazyLoading" value="true"/>
 
 <setting name="multipleResultSetsEnabled" value="true"/>
 
 <setting name="useColumnLabel" value="true"/>
 
 <setting name="useGeneratedKeys" value="false"/>
 
 <setting name="autoMappingBehavior" value="PARTIAL"/>
 
 <setting name="defaultExecutorType" value="SIMPLE"/>
 
 <setting name="mapUnderscoreToCamelCase" value="true"/>
 
    <setting name="localCacheScope" value="SESSION"/>
 
    <setting name="jdbcTypeForNull" value="NULL"/>
 
 </settings>
 
 <typeAliases>
 <typeAlias alias="Integer" type="java.lang.Integer" />
 <typeAlias alias="Long" type="java.lang.Long" />
 <typeAlias alias="HashMap" type="java.util.HashMap" />
 <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
 <typeAlias alias="ArrayList" type="java.util.ArrayList" />
 <typeAlias alias="LinkedList" type="java.util.LinkedList" />
 </typeAliases>
</configuration>
ログイン後にコピー

mybatis ディレクトリの下にマッパー ディレクトリを作成し、マッパー クラス インターフェイス ファイルを保存します。

package com.kerry.mapper; 
import java.util.List; 
import com.kerry.model.User; 
public interface UserMapper { 
 List<User> getAll(); 
 User getOne(Integer id); 
 void insert(User user); 
 void update(User user); 
 void delete(Integer id);
 }
ログイン後にコピー

model class file

package com.kerry.mapper; 
import java.util.List;
import com.kerry.model.User; 
public interface UserMapper { 
 List<User> getAll(); 
 User getOne(Integer id); 
 void insert(User user); 
 void update(User user); 
 void delete(Integer id);
}
ログイン後にコピー

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="com.kerry.mapper.UserMapper" >
  <resultMap id="BaseResultMap" type="com.kerry.model.User" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="age" property="age" jdbcType="VARCHAR" />
    <result column="address" property="address" jdbcType="VARCHAR"/>
  </resultMap>
  
  <sql id="Base_Column_List" >
    id, name, age, address
  </sql>
 
  <select id="getAll" resultMap="BaseResultMap" >
    SELECT 
    <include refid="Base_Column_List" />
  FROM user
  </select>
 
  <select id="getOne" parameterType="java.lang.Integer" resultMap="BaseResultMap" >
    SELECT 
    <include refid="Base_Column_List" />
  FROM user
  WHERE id = #{id}
  </select>
 
  <insert id="insert" parameterType="com.kerry.model.User" >
    INSERT INTO 
     user
     (id,name,age,address) 
    VALUES
     (#{id},#{name}, #{age}, #{address})
  </insert>
  
  <update id="update" parameterType="com.kerry.model.User" >
    UPDATE 
     user 
    SET 
    <if test="name != null">name = #{name},</if>
    <if test="age != null">age = #{age},</if>
    address = #{address}
    WHERE 
     id = #{id}
  </update>
  
  <delete id="delete" parameterType="java.lang.Integer" >
    DELETE FROM
     user 
    WHERE 
     id =#{id}
  </delete> 
</mapper>
ログイン後にコピー

controller:

package com.kerry.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; 
import com.kerry.model.User;
import com.kerry.mapper.UserMapper; 
@RestController
public class UserController { 
 @Autowired
 private UserMapper userMapper;
 
 @RequestMapping("/getUsers")
 public List<User> getUsers() {
 List<User> users=userMapper.getAll();
 return users;
 }
 
  @RequestMapping("/getUser")
  public User getUser(Integer id) {
   User user=userMapper.getOne(id);
    return user;
  }
  
  @RequestMapping("/add")
  public void save(User user) {
   userMapper.insert(user);
  }
  
  @RequestMapping(value="update")
  public void update(User user) {
   userMapper.update(user);
  }
  
  @RequestMapping(value="/delete/{id}")
  public void delete(@PathVariable("id") Integer id) {
   userMapper.delete(id);
  }  
}
ログイン後にコピー

最後に、スキャニング マッパー インターフェイスのアノテーション

@SpringBootApplication
@MapperScan("com.kerry.mapper")
public class Application {
 
 public static void main(String[] args) {
 SpringApplication.run(Application.class, args);
 }
}
ログイン後にコピー
## を追加します。 # またはそれぞれ XXMapper クラスに @mapper アノテーションを追加することも可能です。2 つのうちの 1 つを選択できます。マッパー クラスを作成するたびに @mapper アノテーションを追加する必要はありません。


選択したクラスとファイルをプロジェクト構造ディレクトリ

# にアタッチします。

以上がmybatis XML を springboot に統合する方法の詳細内容です。詳細については、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)

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タグです。

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

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

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

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

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

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

MyBatis キャッシュ メカニズムの詳細な説明: キャッシュ ストレージの原理を 1 つの記事で理解する MyBatis キャッシュ メカニズムの詳細な説明: キャッシュ ストレージの原理を 1 つの記事で理解する Feb 23, 2024 pm 04:09 PM

MyBatis キャッシュ メカニズムの詳細な説明: キャッシュ ストレージの原理を理解するための 1 つの記事 はじめに MyBatis をデータベース アクセスに使用する場合、キャッシュは非常に重要なメカニズムであり、データベースへのアクセスを効果的に削減し、システム パフォーマンスを向上させることができます。この記事では、キャッシュの分類、ストレージの原則、具体的なコード例など、MyBatis のキャッシュ メカニズムを詳しく紹介します。 1. キャッシュの分類 MyBatis のキャッシュは、主に 1 次キャッシュと 2 次キャッシュの 2 種類に分かれます。 1 次キャッシュは SqlSession レベルのキャッシュです。

MyBatis の 1 対多のクエリ構成の詳細な説明: 関連する一般的なクエリの問題の解決 MyBatis の 1 対多のクエリ構成の詳細な説明: 関連する一般的なクエリの問題の解決 Feb 22, 2024 pm 02:18 PM

MyBatis の 1 対多のクエリ構成の詳細な説明: 一般的な関連クエリの問題を解決するには、特定のコード例が必要です。実際の開発作業では、マスター エンティティ オブジェクトとそれに関連付けられた複数のスレーブ エンティティ オブジェクトをクエリする必要がある状況によく遭遇します。 。 MyBatis では、1 対多のクエリが一般的なデータベース関連付けクエリであり、適切な設定を行うことで、関連付けられたオブジェクトのクエリ、表示、操作を簡単に実現できます。この記事では、MyBatis での 1 対多のクエリの構成方法と、関連するクエリに関する一般的な問題の解決方法を紹介します。

MyBatis 動的 SQL タグの深い理解: Trim タグ関数の分析 MyBatis 動的 SQL タグの深い理解: Trim タグ関数の分析 Feb 21, 2024 pm 09:42 PM

MyBatis は軽量の Java 永続層フレームワークで、多くの便利な SQL ステートメントのスプライシング機能を提供します。その強力な機能の 1 つが動的 SQL タグです。 MyBatis では、Trim タグは非常に一般的に使用されるタグであり、SQL ステートメントを動的に結合するために使用されます。この記事では、MyBatis の Trim タグの機能を詳しく説明し、具体的なコード例をいくつか示します。 1. Trim タグの概要 MyBatis では、生成された S を削除するために Trim タグが使用されます。

セキュリティ第一: MyBatis での SQL インジェクションを防ぐベスト プラクティス セキュリティ第一: MyBatis での SQL インジェクションを防ぐベスト プラクティス Feb 22, 2024 pm 12:51 PM

ネットワーク技術が発展し続けるにつれて、データベース攻撃はますます一般的になってきています。 SQL インジェクションは一般的な攻撃手法の 1 つで、攻撃者は悪意のある SQL ステートメントを入力ボックスに入力して不正な操作を実行し、データの漏洩、改ざん、さらには削除を引き起こします。 SQL インジェクション攻撃を防ぐために、開発者はコードを記述するときに特別な注意を払う必要があり、MyBatis などの ORM フレームワークを使用するときは、システムのセキュリティを確保するためのいくつかのベスト プラクティスに従う必要があります。 1. パラメータ化されたクエリ パラメータ化されたクエリは、

See all articles