目次
6. データベースとデータベース接続構成ファイルを作成します。
3. マッピング ファイル UserMapper.xml を作成します。
4. mybatis-config.xml 構成ファイルを変更します。
1:MyBatis環境構築
1. Java開発環境を構築する
参照できます: Java 開発環境のインストール チュートリアル (2023 年の最新の詳細なグラフィック チュートリアル) はここです~_zbvcliwenjing のブログ - CSDN ブログ
2.Tomcatの設定
参照できます: Tomcat のダウンロード、インストール、構成 (2023 年の最新の詳細なチュートリアル) はここです~_zbvcliwenjing のブログ - CSDN ブログ
3. データベース環境の構築
4. エンジニアリングプロジェクトを作成する
(1) Eclipse開発ツールを起動し、ワークスペースを選択します
(2) ファイル-->新規-->Mavenプロジェクト-->すべてチェック-->次へ-->グループID:heima_ssm、アーティファクトID:heima_ssm、名前:ssmheima、説明:ssm教科書の例
(3) Tomcat サービスを追加します。
Windows --> 設定 --> サーバー --> ランタイム環境 --> 追加 --> Apache --> Apache Tomcat v9.0 --> 参照 (Tomcat のインストール パスを選択) --> 完了 --> 適用そして閉じる
(4) Tomcat サービスを開始し、「このコンピュータの管理」を右クリック --> サービスとアプリケーション --> サービス --> Apache Tomcat v9.0... --> スタート --> このウィンドウを閉じ、Eclipse を開き、サーバーを検索 [Apache Tomcat v9.0...] を右クリックし、[開始] をクリックします。
(5) jar パッケージを導入します: MyBatis - CSDN ライブラリの jar パッケージ リソースの一部、圧縮されたパッケージ ファイルをダウンロードして、指定したフォルダーに解凍し、このパスを覚えておきます。ここでは、作成者は E ドライブに直接解凍し、次に、Eclipseプロジェクトを右クリックします-->ビルドパス-->ビルドパスの構成-->ライブラリ-->ライブラリの追加...->ユーザーライブラリ-->次へ-->ユーザーライブラリ...-- >新規...-- >Projlib-->ok-->外部JARを追加...-->E:\lib (lib圧縮パッケージの解凍パス)-->すべてのjarパッケージを選択-->開く-->適用して閉じる-->完了-->適用して閉じる
5. 関連する依存関係を導入します。
pom.xml ファイルを開き、関連する依存関係を導入します。コードは次のとおりです。
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- <scope>test</scope>-->
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
6. データベースとデータベース接続構成ファイルを作成します。
(1) MySQL サービスを開始 --> データベースに接続 --> MySQL に heimassm という名前のデータベースを作成します。具体的な操作は次のとおりです。
a. SQL文の作成、具体的な操作およびSQL文は以下のとおりです。
create database heimassm;
b. 直接右クリックして、heimassm という名前のデータベースを作成します。
(2) プロジェクトの src/main/resources ディレクトリに新しいデータベース接続構成ファイルを作成します。ここでは db.properties という名前を付けます。
(3) このファイルにデータベース接続のパラメータを設定します。db.properties ファイルの具体的な内容は次のとおりです。
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/heimassm?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456
7. MyBatisのコア設定ファイルを作成します。
(1) プロジェクトの src/main/resources ディレクトリに、主にデータベース接続関連の設定など、プロジェクト環境の設定に使用する新しい MyBatis コア設定ファイルを作成します。コア構成ファイルには任意の名前を付けることができますが、通常は mybatis-config.xml という名前が付けられます。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>
<!-- 环境配置 -->
<!-- 加载类路径下的属性文件 -->
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 数据库连接相关配置 ,db.properties文件中的内容-->
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
</configuration>
2. MyBatis の使用を開始する
1. データベースの準備
mybatis データベースに users テーブルを作成し、users テーブルに 2 つのデータを挿入します。具体的な実装手順と SQL ステートメントは次のとおりです。
use heimassm;
create table users(
uid int primary key auto_increment,
uname varchar(20) not null,
uage int not null
);
insert into users(uid, uname, uage) values(null, '张三', 20),(null, '李四', 18);
2. POJOエンティティを作成する
プロジェクトの sn/mainjava ディレクトリの下に com.ssm.ch01.pojo パッケージを作成し、com.ssm.ch01.pojo パッケージの下に User クラスを作成します。このクラスは、User オブジェクトのプロパティをカプセル化するために使用されます。具体的な実装手順とコードは次のとおりです。
package com.ssm.ch01.pojo;
public class User {
private int uid; //用户id
private String uname; //用户姓名
private int uage; //用户年龄
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
}
3. マッピング ファイル UserMapper.xml を作成します。
プロジェクトの src/main/resources ディレクトリの下に mapper.ch01 フォルダを作成し、mapper.ch01 フォルダの下にマッピング ファイル UserMapper.xml を作成します。このファイルは主に SOL ステートメントと Java オブジェクト間のマッピングを設定するために使用されます。その SQL ステートメントによってクエリされたデータは、Java オブジェクトにカプセル化できます。プロジェクト内には複数のマッピング ファイルが存在することがあり、各エンティティ クラスは対応するマッピング ファイルを持つことができます。マッピング ファイルの名前は通常、POJO エンティティ クラス名 + マッパーを使用して付けられます。たとえば、User エンティティ クラスのマッピング ファイルの名前は UserMapper.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为映射的根节点-->
<!-- mapper为映射的根节点,namespace指定Dao接口的完整类名mybatis会依据
这个接口动态创建一个实现类去实现这个接口,而这个实现类是一个Mapper对象-->
<mapper namespace="com.ssm.ch01.pojo.User">
<!--id ="接口中的方法名"
parameterType="传入的参数类型"
resultType = "返回实体类对象,使用包.类名"-->
<select id="findById" parameterType="int"
resultType="com.ssm.ch01.pojo.User">
select * from users where uid = #{id}
</select>
</mapper>
4. mybatis-config.xml 構成ファイルを変更します。
UserMapper.xml マッピング ファイルのパスの設定を mybatis-config.xml マッピング ファイルに追加して、UserMapper.xml マッピング ファイルをプログラムにロードします。操作は次のとおりです。
<!-- mapping文件路径配置 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
5. テストクラスを作成する
プロジェクトの src/test/java 配下にディレクトリ Test.ch01 パッケージを作成し、Test.ch01 パッケージ配下に主にプログラムのテストに使用する UserTest クラスを作成します。
package Test.ch01;
import com.ssm.ch01.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.Reader;
public class UserTest {
@Test
public void userFindByIdTest() {
//读取文件名
String resources = "mybatis-config.xml";
//创建流
Reader reader = null;
try {
//读取mybatis-config.xml文件内容到reader对象中
reader = Resources.getResourceAsReader(resources);
} catch (IOException e) {
e.printStackTrace();
}
//初始化mybatis数据库,创建SqlSessionFactory类的实例
SqlSessionFactory sqlMapper = new
SqlSessionFactoryBuilder().build(reader);
//创建SqlSession实例
SqlSession session = sqlMapper.openSession();
//传入参数查询,返回结果
User user = session.selectOne("findById", 1);
//输出结果
System.out.println(user.getUname());
//关闭session
session.close();
}
}