史上最簡單的 MyBatis 教程

1 簡介

MyBatis 是支持普通 SQL 查詢,存儲過程和高級映射的優秀持久層框架,其幾乎消除了所有的 JDBC 代碼和參數的手工設置以及結果集的檢索。MyBatis 使用簡單的 XML 或註解用於配置和原始映射,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。MyBatis 應用程序大都使用 SqlSessionFactory 實例,SqlSessionFactory 實例可以通過 SqlSessionFactoryBuilder 獲得,而 SqlSessionFactoryBuilder 則可以從一個 XML 配置文件或者一個預定義的配置類的實例獲得。

2 構建步驟

想要熟練的使用 MyBatis 框架,就必須明確其構建步驟,在此,咱們給出構建 MyBatis 框架的詳細步驟,以供大家參考:

創建一個 Java Web 項目;

導入 MyBatis 框架的 jar 包;

創建核心配置文件 sqlMapConfig.xml ;

創建映射文件 UersMapper.xml;

創建測試類。

其中,MyBatis 框架的 jar 包可以通過“MyBatis 之 各種依賴包 ”進行下載,而且裡面包含了大多數常用的配置文件,值得大家get。此外,還有一點需要大家注意,那就是 MyBatis 框架用於操作數據,支持 SQL 語句,因此在體驗 MyBatis 框架的時候,需要使用數據庫配合進行測試。在本篇博文中,咱們在數據庫中創建了一個名為“person”的表,並通過 MyBatis 框架對其進行一系列常見的操作(增、刪、改、查等)。

3 體驗 MyBatis 框架

首先,給出項目結構圖:

史上最簡單的 MyBatis 教程

第一步:創建 Java Web 項目,導入 jar 包

mybatis-3.2.2.jar 核心jar

mysql-connector-java-5.1.10-bin.jar 數據庫訪問

asm-3.3.1.jar 增強類

cglib-2.2.2.jar 動態代理

commons-logging-1.1.1.jar 通用日誌

javassist-3.17.1-GA.jar java助手

log4j-1.2.17.jar 日誌

slf4j-api-1.7.5.jar 日誌

slf4j-log4j12-1.7.5.jar 日誌

第二步:創建核心配置文件 sqlMapConfig.xml

/p>

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

"http://mybatis.org/dtd/mybatis-3-config.dtd">

第三步:創建映射文件 UersMapper.xml

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

SELECT * FROM Person

第四步:創建實體類(Person)

package yeepay.payplus;

/**

* Created by 維C果糖 on 2017/2/1.

*/

public class Person {

private Integer id;

private String name;

private Integer age;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

@Override

public String toString() {

return "Person{" +

"id=" + id +

", name='" + name + '\'' +

", age=" + age +

'}';

}

}

第五步:創建測試類(CeshiMyBatis)

package yeepay.payplus.test;

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 yeepay.payplus.Person;

import java.io.IOException;

import java.io.InputStream;

import java.util.List;

/**

* Created by 維C果糖 on 2017/2/1.

*/

public class CeshiMyBatis {

@Test

public void ceshi() throws IOException {

/**

* 1、獲得 SqlSessionFactory

* 2、獲得 SqlSession

* 3、調用在 mapper 文件中配置的 SQL 語句

*/

String resource = "sqlMapConfig.xml"; // 定位核心配置文件

InputStream inputStream = Resources.getResourceAsStream(resource);

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 創建 SqlSessionFactory

SqlSession sqlSession = sqlSessionFactory.openSession(); // 獲取到 SqlSession

// 調用 mapper 中的方法:命名空間 + id

List personList = sqlSession.selectList("yeepay.payplus/mapper.UserMapper.findAll");

for (Person p : personList){

System.out.println(p);

}

}

}

在完成以上步驟後,咱們可以通過 JUnit 來測試框架是否搭建成功,具體使用 JUnit 進行測試的方法,可以通過閱讀“基於 JUnit 單元測試的原理及示例”來了解更為詳細的內容。


分享到:


相關文章: