MyBatis 入門 (6)---mybatis と Spring の統合
1. 統合には
1.1、メソッドが必要です
前の章のデータには、シングルトンを通じて SqlsessionFactory を管理するための sPRing が必要です
spring と mybatis の統合はプロキシ オブジェクトを生成し、SqlSessionFactory を使用して SqlSession を作成します
(spring と mybatis の統合)自動的に完了)
永続層のマッパーはspring
2で管理する必要がある。プロジェクト統合環境の作成
2.1、プロジェクトの作成
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">
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">
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
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
を使用しません
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authroBio})
测试类同上
以上即ち MyBatis 入门(六)---mybatis と spring の整合内容、より多くの関連内容请关注 PHP中文网(www.php.cn)!

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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