Mybatis系列教材 (二十四)- 相關概念 - 單純的Mybatis整合C3P0數據庫鏈接池


本知識點演示單純的Mybatis整合C3P0數據庫鏈接池,不是SSM的那種整合方式html

步驟1:先運行,看到效果,再學習
步驟2:模仿和排錯
步驟3:下載JAR包
步驟4:導入項目
步驟5:新建類C3P0DataSourceFactory
步驟6:配置 mybatis-config.xml
步驟7:測試 java

步驟 1 : 先運行,看到效果,再學習sql

老規矩,先下載下載區(點擊進入)的可運行項目,配置運行起來,確承認用以後,再學習作了哪些步驟以達到這樣的效果。數據庫

步驟 2 : 模仿和排錯apache

在確保可運行項目可以正確無誤地運行以後,再嚴格照着教程的步驟,對代碼模仿一遍。
模仿過程不免代碼有出入,致使沒法獲得指望的運行結果,此時此刻經過比較正確答案 ( 可運行項目 ) 和本身的代碼,來定位問題所在。
採用這種方式,學習有效果,排錯有效率,能夠較爲明顯地提高學習速度,跨過學習路上的各個檻。 session

推薦使用diffmerge軟件,進行文件夾比較。把你本身作的項目文件夾,和個人可運行項目文件夾進行比較。
這個軟件很牛逼的,能夠知道文件夾裏哪兩個文件不對,而且很明顯地標記出來
這裏提供了綠色安裝和使用教程:diffmerge 下載和使用教程mybatis

步驟 3 : 下載JAR包併發

下載區(點擊進入)下載c3p0的jar包高併發

步驟 4 : 導入項目學習

把jar包導入到項目中,導包辦法:右鍵 project->properties->java build path->libaries->add external jars

導入項目

步驟 5 : 新建類C3P0DataSourceFactory

Mybatis使用C3P0有點怪怪的,須要本身寫個類繼承UnpooledDataSourceFactory,而後指定dataSource 爲ComboPooledDataSource。
這個ComboPooledDataSource就是c3p0的數據源。

package org.mybatis.c3p0;

import org.apache.ibatis.datasource.unpooled.UnpooledDataSourceFactory;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0DataSourceFactory extends UnpooledDataSourceFactory{
    public C3P0DataSourceFactory(){
        this.dataSource =new ComboPooledDataSource();
    }
}

步驟 6 : 配置 mybatis-config.xml

註釋掉type="POOLED"的數據源,換成type="org.mybatis.c3p0.C3P0DataSourceFactory"的數據源
這樣就使用c3p0了。
由於代碼插件的bug,有一些關鍵字符不能正常顯示,請直接使用下載區(點擊進入)的mybatis-config.xml,保證順利運行。

步驟 7 : 測試

隨便運行前面知識點的任意測試類便可。
做爲數據庫鏈接池,沒法在小規模訪問裏看到其效果,須要高併發才能體現出其效果,這裏的測試代碼只能表示正常運行,沒法體現其優越性。

package com.how2java;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
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 com.how2java.pojo.Category;
public class TestMybatis {
    public static void main(String[] args) throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        List<Category> cs =session.selectList("listCategory");
        for (Category c : cs) {
            System.out.println(c.getName());
        }
        session.close();
    }
}

更多內容,點擊瞭解: https://how2j.cn/k/mybatis/mybatis-annotation-c3p0-connection-pool/1103.html

相關文章
相關標籤/搜索