ホームページ Java &#&チュートリアル MyBatis 入門 (6)---mybatis と Spring の統合

MyBatis 入門 (6)---mybatis と Spring の統合

Dec 21, 2016 pm 02:35 PM

1. 統合には

1.1、メソッドが必要です

前の章のデータには、シングルトンを通じて SqlsessionFactory を管理するための sPRing が必要です

spring と mybatis の統合はプロキシ オブジェクトを生成し、SqlSessionFactory を使用して SqlSession を作成します

(spring と mybatis の統合)自動的に完了)

永続層のマッパーはspring

2で管理する必要がある。プロジェクト統合環境の作成

2.1、プロジェクトの作成

MyBatis 入門 (6)---mybatis と Spring の統合2.2、data

db.properties

#databaseの構成情報

#ドライバー

driverClass=com.MySQL.jdbc.Driver
#接続URL
jdbcUrl=jdbc:mysql://localhost:3306/mybatis?character=utf8#ユーザー名
user=root
#パスワード
passWord=root
#接続プール
minPoolSize=10#で予約される接続の最小数。接続プールに予約される接続の最大数。デフォルト: 15 maxPoolSize=20#最大アイドル時間。1800 秒以内に使用されない場合、接続は破棄されます。 0 の場合は破棄されません。デフォルト: 0 maxIdletime=1800#コネクションプール内のコネクションが枯渇したときにc3p0が同時に取得するコネクションの数。デフォルト: 3acquireIncrement=3#接続プール内の初期接続の数は、minPoolSize と maxPoolSize の間にある必要があります。デフォルトは 3
initialPoolSize=15


2.3, configuration

/p> PUBLIC "-//mybatis. org //DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">< ;/settings>環境 id="開発 ">












2.4 POJO クラスとインターフェイス

package com.pb.ssm.po;import java.util.Date;/**
*

* @ClassName: 著者

* @説明: TODO(著者)

* @著者 Liu Nan

* @date 2015-10-31 12:39:33 pm

**/public class Author { //Authorid
private Integer authorId;    //作者姓名
private String authorUserName;    //作成者パスワード
private String authorPassword;    //作成者邮箱
private String authorEmail;    //作成者介绍
private String authroBio;    //注册時間
private Date registerTime;    


public Integer getAuthorId() { return authorId;
} public void setAuthorId(Integer authorId) { this.authorId = authorId;
} public String getAuthorUserName() { return authorUserName;
} public void setAuthorUserName(String authorUserName) { this .authorUserName = authorUserName;
} public String getAuthorPassword() { return authorPassword;
} public void setAuthorPassword(String authorPassword) { this.authorPassword = authorPassword;
} public String getAuthorEmail() { return authorEmail;
} public void setAuthorEmail(String authorEmail) { this.authorEmail = authorEmail;
} public String getAuthroBio() { return authroBio;
} public void setAuthroBio(String authroBio) { this.authroBio = authroBio;
} public Date getRegisterTime() { return registerTime;
} public void setRegisterTime(Date registerTime) { this.registerTime = registerTime;
}
@Override public String toString() { return "著者 [authorId=" + authorId + ", authorUserName="
+ authorUserName + ", authorPassword="著者パスワード+ ", authorEmail=" + authorEmail + ", authroBio=" + authroBio + ", registerTime=" + registerTime + "]";
}


}

接続口

package com.pb.ssm.mapper;import com.pb.ssm.po.Author;public インターフェース AuthorMapper { /**
* *

* @Title: findAuthorById

* @Description: TODO(IDで検索)
* @param @param id
* @param @return 設定ファイル

* @return 著者の戻り値

* @ throws
*/
public Author findAuthorById(int id)
/**
* *

* @Title: addAuthor

* @Description: TODO(追加)

* @param @param author
* @param @return 設定ファイル

* @return int 戻り値の型

* @throws
* /
public int addAuthor(著者 著者); /**
* *

* @Title: updateAuthor

* @Description: TODO(更新)

* @param @param author
* @param @return 設定ファイル

* @return int 戻り値の型

* @throws
*/
public int updateAuthor(著者 著者)
/**
* * 削除

* @Title: delteAuthor

* @Description: TODO(IDで削除)

* @param @param id
* @param @return 設定ファイル

* @return int 戻り値の型

* @throws
*/
public int delteAuthor(int id);
}

mapper.xml

/p> PUBLIC "-//mybatis.org//DTD マッパー 3.0/ /EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">INSERT INTO author( author_username, author_password,author_email,author_bio)
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
author_username=#{authorUserName},author_password=#{authorPassword},author_email=#{authorEmail},author_bio=#{authroBio},register_time=#{registerTime}< ;/ if>where author_id=#{authorId}作成者から削除 where author_id= #{authorId}



3. Mybatis 設定ファイル .xml 統合を使用します

3.1、applicationContext.xml



3.2、测试

パッケージ com.pb.ssm.mapper;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;インポート org.apache.ibatis.session.SqlSessionFactoryBuilder;インポート org.junit.Before;インポート org.junit.Test;インポート org.springframework.context.ApplicationContext;インポート org.springframework.context.support.ClassPathXmlApplicationContext;インポート com.pb。 ssm.po.Author;public class AuthorMapperTest { private ApplicationContext applicationContext;

@Before public void setUp() throws Exception {
applicationContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");
}

@Test public void testFindAuthorById() {


AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");
著者 author = authorMapper.findAuthorById(2);
System.out.println(author);

}

@Test public void testAddAuthor () { // 获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");

Author author=new Author();
author.setAuthorUserName("程序猿");
author.setAuthorPassword( "QWERdlfdad");
author.setAuthorEmail("QWER@QQ.com");        

int num = authorMapper.addAuthor(author);

System.out.println("num="+num);
System.out.println(" 追加後のID:"+author.getAuthorId());
}

@Test public void testUpdateAuthor() { // 获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");
著者 author = authorMapper.fi ndAuthorById(13);
author.setAuthroBio("天天写代码");
author.setAuthorUserName("码农");        int num=authorMapper.updateAuthor(author);

System.out.println("num="+num);
System.out.println(author);
}

@Test public void testDeleteAuthor() { //获取会话工厂
AuthorMapper authorMapper = (AuthorMapper) applicationContext.getBean("authorMapper");        int num= authorMapper.delteAuthor(13);

}

}

四、mybatis構成文件

4.1、写ApplicationContext.xml

を使用しません

bean>where author_id=#{id}INSERT INTO author(author_username,author_password,author_email,author_bio)
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
> ;著者を更新author_username= #{authorUserName},author_password=#{authorPassword},author_email=#{authorEmail},author_bio=#{authroBio},register_time=#{registerTime}where author_id=#{authorId}author_id=#{authorId} の著者から削除

测试类同上

以上即ち MyBatis 入门(六)---mybatis と spring の整合内容、より多くの関連内容请关注 PHP中文网(www.php.cn)!

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Apr 28, 2024 am 11:46 AM

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

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のキャッシュ機構を解析:一次キャッシュと二次キャッシュの特徴と使い方を比較 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 08:13 PM

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

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

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

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

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

MyBatis のバッチ挿入実装原理の深い理解 MyBatis のバッチ挿入実装原理の深い理解 Feb 21, 2024 pm 04:42 PM

MyBatis は、さまざまな Java プロジェクトで広く使用されている人気のある Java 永続層フレームワークです。その中でも、バッチ挿入は、データベース操作のパフォーマンスを効果的に向上させることができる一般的な操作です。この記事では、MyBatis でのバッチ挿入の実装原理を深く調査し、特定のコード例を使用して詳細に分析します。 MyBatis でのバッチ挿入 MyBatis では、通常、バッチ挿入操作は動的 SQL を使用して実装されます。複数の挿入値を含む S を構築することによって

See all articles