MyBatisは-1-を使用してMavenプロジェクトの実行環境を構築し、テストケースを実行します。

目次

0、前に書く

1.新しいMavenプロジェクトの詳細な手順[myBatis-study]

2. MyBatisコンポーネントの依存関係をpom.xml構成ファイルに追加します:pom.xml

3.データベースにテーブルを作成し、テストデータを挿入します:RUNOOB.TBL_Employee

4.テーブルに対応するエンティティクラスを記述します:EmployeeEntity.java

5.次のテーブルに対応するインターフェイスを記述します:EmployeeDao.java

6.テーブルに対応するマッパー構成ファイル(テーブル操作用のさまざまなSQL)を記述します:mapper.xml

7. MyBatisのグローバル構成ファイルを書き込みます(グローバル構成ファイルにmapper.xmlファイルを登録します):mybatis-config.xml

8.最終的なMavenプロジェクトの構造図

9.インターフェイステスト:EmployeeTest.java

10.MyBatisの手順の概要

11.MyBatisビデオを参照してください

12.MyBatisビデオPPTスクリーンショット

0、前に書く

(1)この一連のブログの目標は、MyBatis構成ファイルの作成、MyBatis動的SQL、MyBatisキャッシングメカニズム、MyBatis-Spring統合、MyBatisリバースエンジニアリング、MyBatis高度なコンテンツ(MyBatisソースコード分析、MyBatisシングル/マルチプラグイン操作メカニズム、MyBatis 4ラージオブジェクトの動作原理、カスタムTypeHandler、MyBatisストアードプロシージャおよびカーソル処理など)。 

(2)MyBatis公式ウェブサイト:https//mybatis.org/mybatis-3/zh/index.html

(3)最新のMyBatisコンポーネントとソースコードをダウンロードします:https//github.com/mybatis/mybatis-3/releases

1.新しいMavenプロジェクトの詳細な手順[myBatis-study]

(1)ファイル-》新規-》プロジェクト

(2)mavenプロジェクトを選択し、プロジェクトで使用されるJDKを選択します

(3)MavenプロジェクトのgroupIDとartifactIDを入力します

(4)Mavenプロジェクトのプロジェクト名を入力し、Mavenプロジェクトのアドレスを選択して、最後に[完了]をクリックします。

(5)作成後、最初のMavenプロジェクト構造図

2. MyBatisコンポーネントの依存関係をpom.xml構成ファイルに追加します:pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wind</groupId>
    <artifactId>mybatis-study</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--导入使用MyBatis时相关的依赖=start-->
    <dependencies>
        <!--MyBatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

        <!--MySQL连接依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>

        <!--第三方缓存依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-ehcache</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.6.11</version>
        </dependency>

        <!--lombok插件依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
    </dependencies>
    <!--导入使用MyBatis时相关的依赖=end-->


    <!--编译之后的文件中少了mapper.xml,这个和maven有关,maven编译src/java代码的时候,默认只会对java文件进行编译然后放在target/classes目录,需要在pom.xml中加入下面配置-->
    <!--如果不添加此节点,mapper.xml文件、config.properties文件、config.spring文件都不会被加载到target的classes中去,也就不能被使用,也就会报错-->
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

</project>

3.データベースにテーブルを作成し、テストデータを挿入します:RUNOOB.TBL_Employee

CREATE TABLE `TBL_Employee` (
  `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户Id',
  `Name` varchar(255) NOT NULL DEFAULT '' COMMENT '姓名',
  `Gender` char(1) NOT NULL DEFAULT '' COMMENT '性别',
  `Email` varchar(255) NOT NULL DEFAULT '' COMMENT '邮箱',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='员工表';

insert into TBL_Employee(name,gender,email) values("张三","男","[email protected]"),("李四","女","[email protected]"),("王二","女","[email protected]");
select * from TBL_Employee;

4.テーブルに対応するエンティティクラスを記述します:EmployeeEntity.java

package com.wind.entity;

import java.io.Serializable;

public class EmployeeEntity implements Serializable {

    private static final long serialVersionUID = -5639704456233181138L;

    private Integer id;
    private String name;
    private String gender;
    private String email;

// 省略各种setter、getter、toString方法
}

5.次のテーブルに対応するインターフェイスを記述します:EmployeeDao.java

package com.wind.dao;

import com.wind.entity.EmployeeEntity;
import org.apache.ibatis.annotations.Param;

/**
 * @Description: 这是与MyBatis中的mapper.xml文件相互绑定的接口。注意:该接口是用来操作DB的。
 */
public interface EmployeeDao {

    EmployeeEntity queryEmployeeById(@Param("id") int id);

}

6.テーブルに対応するマッパー構成ファイル(テーブル操作用のさまざまなSQL)を記述します:mapper.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.xml文件都有一个命名空间,该命名空间表示:该mapper.xml文件和哪个接口绑定起来。
注意:该接口是用来操作DB的。-->
<mapper namespace="com.wind.dao.EmployeeDao">

    <select id="queryEmployeeById" resultType="EmployeeEntity">
        select * from TBL_Employee where id = #{id}
    </select>

</mapper>

7. MyBatisのグローバル構成ファイルを書き込みます(グローバル構成ファイルにmapper.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>

    <!--MyBatis的设置-->
    <settings>
        <!--开启在控制台打印SQL日志-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

    <!--MyBatis中entity别名的设置-->
    <typeAliases>
        <package name="com.wind.entity"/>
    </typeAliases>

    <!--配置MyBatis运行环境的全局配置文件-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--配置POOLED类型的JDBC数据源连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url"
                          value="jdbc:mysql://localhost:3306/RUNOOB?useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!--把一个个的mapper配置文件注册到全局配置文件中-->
    <mappers>
        <mapper resource="mapper/EmployeeMapper.xml"/>
    </mappers>

</configuration>

8.最終的なMavenプロジェクトの構造図

9.インターフェイステスト:EmployeeTest.java

import com.wind.dao.EmployeeDao;
import com.wind.entity.EmployeeEntity;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.InputStream;

public class EmployeeTest {

    public static void main(String[] args) {
        //加载MyBatis配置文件
        InputStream inputStream = EmployeeTest.class.getClassLoader().getResourceAsStream("mybatis-config.xml");
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //获取实现接口的代理对象
        EmployeeDao employeeDao = sqlSession.getMapper(EmployeeDao.class);
        EmployeeEntity employeeEntity = employeeDao.queryEmployeeById(1);
        System.out.println(employeeEntity);

        //关闭资源
        sqlSession.close();
    }
}

10.MyBatisの手順の概要

11.MyBatisビデオを参照してください

サイトhttps//www.bilibili.com/video/BV1mW411M737?p = 1

12.MyBatisビデオPPTスクリーンショット

 

 

 

 

 

 

おすすめ

転載: blog.csdn.net/cmm0401/article/details/111720470