1. 程式人生 > >Mybatis的快速入門

Mybatis的快速入門

Mybatis的快速入門

1、什麼是Mybatis?

Mybatis與Hibernate一樣是一個持久層框架,通過整合第三方資料來源,比如C3P0和Druid連線池,來與資料庫DataBase進行互動。將查詢的結果集返回給Dao層(資料訪問層)
兩者的區別:1、使用場景不同:Hibernate適用於中小型專案,例如ERP專案
                                                     Mybatis適用於大型專案,例如電商專案
                      2、靈活性:Mybatis由於是半自動化框架,SQL語句可以由企業人員來進行編寫,
                                          這樣的sql更符合企業的要求,尤其針對於大型專案。但是Hibernate是全
                                          表檢索,對於中小型專案而言是比較合適的,但是對於大型專案而言,會
                                          大大降低企業的開發效率

2、建立一個maven專案

在這裡插入圖片描述
一、 在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>cn.zyyx</groupId> <artifactId>mybatisdemo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <!-- 單元測試Junit --> <dependency> <groupId>junit</
groupId
>
<artifactId>junit</artifactId> <version>4.11</version> </dependency> <!-- 連線mysql資料庫 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <!-- 引入mybatis的核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.2</version> </dependency> </dependencies> </project>

二、 在resources資原始檔夾下建立Mybatis的核心配置檔案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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

在這裡插入圖片描述
三、 建立相應的實體類和對映檔案
在這裡插入圖片描述
在這裡插入圖片描述

package cn.zyyx.domain;

public class User {
    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 "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

在這裡插入圖片描述
在這裡插入圖片描述

<?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 namespace="users">
    <select id="selectOne" resultType="cn.zyyx.domain.User">
       select * from users where id = #{id}
    </select>
</mapper>

在這裡插入圖片描述

3、接下來我們進行單元測試,看是否配置成功

1、建立單元測試的類TestMybatis
在這裡插入圖片描述
2、這是我的資料庫裡面的資料
在這裡插入圖片描述
3、查詢的結果
在這裡插入圖片描述
4、程式碼

package cn.zyyx.test;

import cn.zyyx.domain.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.InputStream;

public class TestMybatis {
    @Test
    public void testMybatis(){
        //mybatis核心檔案所存放的位置
        String resource = "mybatis-config.xml";
        InputStream inputStream = null;
        SqlSessionFactory sqlSessionFactory = null;
        SqlSession sqlSession = null;
        try {
            //將檔案資訊轉換成流
            inputStream = Resources.getResourceAsStream(resource);
            //建立SqlSessionFactory物件
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //開啟一次會話相當於JDBC中的獲取一次連線
            sqlSession = sqlSessionFactory.openSession();
            //執行查詢操作
            User user = sqlSession.selectOne("users.selectOne", 9);
            System.out.println(user);
            //提交事務
            sqlSession.commit();
        } catch (IOException e) {
            e.printStackTrace();
            if(sqlSession != null){
                //發生異常,事務的回滾
                sqlSession.rollback();
            }
        } finally {
            if(sqlSession != null){
                //釋放資源
                sqlSession.close();
            }
        }
    }
}

3、程式碼

連結:https://pan.baidu.com/s/1RXQGKipocJ-G_Tfwv8Of4g
提取碼:83b1

4、總結

上面的程式碼可以讓初學Mybatis新手快速入門,如果大家在配置的過程中遇到什麼問題,可以在下方留言,我會進行回覆,如果需要相關的資源,比如idea的安裝與破解、mysql的安裝包以及sqlyong的安裝包等資源,大家都可以在下方留言。