1. 程式人生 > >MyBatis-搭建MyBatis開發環境一(MyEclipse版)

MyBatis-搭建MyBatis開發環境一(MyEclipse版)

一、引入MyBatis及其相關jar包
1、mybatis-3.2.2.jar:mybatis的jar包
2、mysql-connector-java-5.1.0-bin.jar:MySQL資料庫jar包
3、log4j-1.2.16.jar:日誌、用於開發顯示提示資訊如執行的SQL語句及引數

二、新建mybatis-config.xml配置檔案

這裡寫圖片描述

1、在專案下新建一個原始碼資料夾resources,在裡面新建一個xml取名為mybatis-config.xml

2、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">

三、在mybatis-config.xml中配置資料庫相關資訊

<configuration>
    <!-- default屬性表示採用哪種配置 -->
    <environments default="development">
        <!-- 配置情況的一種,可以有多個,根據environments 的default來指定使用哪一種 -->
<environment id="development"> <!-- 配置事務管理 採用JDBC --> <transactionManager type="JDBC"/> <!-- POOLED:mybatis的資料來源,JNDI:基於tomcat的資料來源 --> <dataSource type="POOLED"> <!-- 資料庫連線資訊 --> <property
name="driver" value="${driver}" />
<property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> </configuration>

四、建立資料庫properties檔案

這裡寫圖片描述

1、在resources原始碼資料夾下新建一個properties檔案,這裡我取名叫jdbc.properties,然後再裡面寫入資料庫連線相關資訊。

2、然後在mybatis-config.xml檔案內配置jdbc.properties檔案路徑

這裡寫圖片描述

五、配置Log4j,讓控制檯輸出SQL語句及引數相關資訊

這裡寫圖片描述

1、在resources資料夾下新建log4j.properties檔案

2、log4j.properties參考內容

log4j.rootLogger=DEBUG,CONSOLE,file
#log4j.rootLogger=ERROR,ROLLING_FILE
log4j.logger.cn.jbit.dao=debug
log4j.logger.com.ibatis=debug 
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug 
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug 
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug 
log4j.logger.java.sql.Connection=debug 
log4j.logger.java.sql.Statement=debug 
log4j.logger.java.sql.PreparedStatement=debug 
log4j.logger.java.sql.ResultSet=debug 
log4j.logger.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter=debug

######################################################################################
# Console Appender  \u65e5\u5fd7\u5728\u63a7\u5236\u8f93\u51fa\u914d\u7f6e
######################################################################################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=error
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%n


######################################################################################
# DailyRolling File  \u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6\uff0c\u6587\u4ef6\u540d\u683c\u5f0f:log2009-09-11
######################################################################################
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=error
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n


log4j.logger.com.opensymphony.xwork2=error  

3、在mybatis-config.xml配置檔案內新增如下配置

    <settings>
        <!-- 配置mybatis的log實現為LOG4J 後臺輸出SQL語句-->
        <setting name="logImpl" value="LOG4J"/>
    </settings>

六、測試
1、在資料庫中新建表emp

這裡寫圖片描述

2、建立表對應的實體類

這裡寫圖片描述

3、新建EmpMapper.xml檔案

這裡寫圖片描述

4、EmpMapper.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">

5、編寫EmpMapper.xml檔案

<mapper namespace="com.bc.dao.EmpMapper">
    <!-- 新增Emp資料,parameterType -->
    <insert id="addEmp" parameterType="com.bc.pojo.Emp">
        insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) 
            values(#{empno},#{ename},#{job},#{mgr},#{hiredate},#{sal},#{comm},#{deptno})
    </insert>

    <!-- 更新Emp資料 -->
    <update id="updateEmp" parameterType="com.bc.pojo.Emp">
        update emp set ename=#{ename},job=#{job},mgr=#{mgr},hiredate=#{hiredate},sal=#{sal},
            comm=#{comm},deptno=#{deptno} 
                where empno=#{empno}
    </update>

    <!-- 查詢所有僱員資訊 -->
    <select id="getEmpList" resultType="com.bc.pojo.Emp">
        select * from Emp
    </select>

    <!-- 刪除僱員資訊 -->
    <delete id="deleteEmp" parameterType="com.bc.pojo.Emp">
        delete from Emp where empno=#{empno}
    </delete>
</mapper>

這裡寫圖片描述

6、在mybatis-config.xml中引入EmpMapper.xml(不要忘記)

<mappers>
    <!-- 要用"/"而不是"." -->
    <mapper resource="com/bc/dao/EmpMapper.xml"/>
</mappers>

7、測試程式碼

public class EmpTest {

    private Logger logger = Logger.getLogger(EmpTest.class);

    @Test
    /**新增Emp測試*/
    public void addEmpTest() {
        //mybatis-config.xml檔案路徑
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //要插入的Emp物件
        Emp emp = new Emp();
        emp.setEname("測試");
        emp.setDeptno(1);

        try {
            //1 讀取配置檔案(mybatis-config.xml)的輸入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 建立sqlSessionFactory物件,完成對配置檔案的讀取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 建立sqlSession
            sqlSession = factory.openSession();
            //4 呼叫mapper檔案進行資料操作(呼叫之前必須要把mapper檔案加入到mybatis-config.xml)
            sqlSession.insert("com.bc.dao.EmpMapper.addEmp", emp);
            //5 提交事務
            sqlSession.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //出現異常回滾事務
            sqlSession.rollback();
        } finally {
            //關閉會話
            sqlSession.close();
        }
    }

    /**更新Emp測試*/
    public void updateEmpTest() {
        //mybatis-config.xml檔案路徑
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //要更新的Emp物件
        Emp emp = new Emp();
        emp.setEmpno(65);
        emp.setEname("更新測試");

        try {
            //1 讀取配置檔案(mybatis-config.xml)的輸入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 建立sqlSessionFactory物件,完成對配置檔案的讀取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 建立sqlSession
            sqlSession = factory.openSession();
            //4 呼叫mapper檔案進行資料操作(呼叫之前必須要把mapper檔案加入到mybatis-config.xml)
            sqlSession.update("com.bc.dao.EmpMapper.updateEmp", emp);
            //5 提交事務
            sqlSession.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //出現異常回滾事務
            sqlSession.rollback();
        } finally {
            //關閉會話
            sqlSession.close();
        }
    }

    /**查詢Emp測試*/
    public void getEmpListTest() {
        //mybatis-config.xml檔案路徑
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //查詢結果集
        List<Emp> empList = new  ArrayList<>();

        try {
            //1 讀取配置檔案(mybatis-config.xml)的輸入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 建立sqlSessionFactory物件,完成對配置檔案的讀取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 建立sqlSession
            sqlSession = factory.openSession();
            //4 呼叫mapper檔案進行資料操作(呼叫之前必須要把mapper檔案加入到mybatis-config.xml)
            empList = sqlSession.selectList("com.bc.dao.EmpMapper.getEmpList");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //關閉會話
            sqlSession.close();
        }

        //遍歷資料
        for (Emp emp : empList) {
            logger.debug(emp.getEname());
        }
    }

    /**刪除Emp測試*/
    public void deleteEmpTest() {
        //mybatis-config.xml檔案路徑
        String resource = "mybatis-config.xml";
        SqlSession sqlSession = null;
        //要刪除的Emp物件
        Emp emp = new Emp();
        emp.setEmpno(65);

        try {
            //1 讀取配置檔案(mybatis-config.xml)的輸入流
            InputStream is = Resources.getResourceAsStream(resource);
            //2 建立sqlSessionFactory物件,完成對配置檔案的讀取
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
            //3 建立sqlSession
            sqlSession = factory.openSession();
            //4 呼叫mapper檔案進行資料操作(呼叫之前必須要把mapper檔案加入到mybatis-config.xml)
            sqlSession.delete("com.bc.dao.EmpMapper.deleteEmp", emp);
            //5 提交事務
            sqlSession.commit();
        } catch (Exception e) {
            e.printStackTrace();
            //出現異常回滾事務
            sqlSession.rollback();
        } finally {
            //關閉會話
            sqlSession.close();
        }
    }
}

8、執行結果(以插入為例)

這裡寫圖片描述

七、總結
從以上程式碼可以看出,有很多臃腫的地方,比如類名使用完全包名+類名可以使用別名優化,測試程式碼很多重複性的程式碼可以提取出來等,這些問題參考下一篇部落格
下一篇:MyBatis-搭建MyBatis開發環境二(MyEclipse版)

相關推薦

MyBatis-搭建MyBatis開發環境MyEclipse

一、引入MyBatis及其相關jar包 1、mybatis-3.2.2.jar:mybatis的jar包 2、mysql-connector-java-5.1.0-bin.jar:MySQL資料庫jar包 3、log4j-1.2.16.jar:日誌、用於開

IDEA搭建 Spring Boot 開發環境 圖解入門篇

什麼是spring boot Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。用我的話來理解,就是spring boot其實不是什麼新的框架

手把手搭建spring開發環境()

      寫在前面:本文主要講配置xml檔案方式搭建spring開發環境,及springIOC容器建立物件的一些細節,註解方式見後續文章。      傳統的開發過程中,物件的建立是由呼叫者寫死的,spring框架中,物件的建立不再有呼叫建立,改為容器建立這就是IOC(In

Vagrant搭建虛擬化開發環境()初識

命令 添加 rem ava echo vagrant 文檔 下載地址 方式 Vagrant 簡介   Vagrant 是一款用來構建虛擬開發環境的工具,它是用來管理虛擬機的,同時也非常適合 php/python/ruby/java 這類語言開發 web 應用,“代碼在我機

Java 開發環境配置Windows篇

window系統 jar 下載jdk src 編輯 .html 系統變量 輸出 要點 window系統安裝java 下載JDK 首先我們需要下載java開發工具包JDK,下載地址:http://www.oracle.com/technetwork/java/javase

Java開發環境配置windows系統

gpo ogr 環境 計算機 根據 download 1.5 新建 program 第一步  下載JDK   官方下載地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,然後點擊Down

Deepin下開發環境配置個人備用

文章目錄 Python相關 安裝pip和pip3 虛擬環境管理 Pycharm 安裝Git 前端相關 VSCo

Deep Learning_0 Tensorflow開發環境配置基於python

deep learning之tensorflow兩種搭建方式。 ——————————————————————————————————————————————— 第一種方式是Anaconda環境配置 1

ubuntu17.04下Java開發環境配置詳細步驟

一、安裝前的準備工作 1.安裝ubutun 17.04版本作業系統; 2.到官網下載最新版的JDK; 官網連結:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht

ZYNQ-Miz702 VIVADO 開發環境建立第一章

1.1 VIVADO軟體介紹 “一提起Xilinx的開發環境,人們總是先會想起ISE,而對Vivado不甚瞭解。其實,Vivado是Xilinx公司於2012推出的新一代整合設計 環境。雖然目前其流行度並不高,但可以說Vivado代表了未來Xilinx FPGA開發環境的

Sublime text_python開發環境設定windows下

如果是想在sublime裡要python shell那種互動或者run module F5 F5 F5下這種效果的話,還是挺容易實現的,windows下的:1. 開啟Sublime text 3 安裝package controlSublime Text 3 安裝Package Control2. 安裝 Su

HTML5移動開發環境配置AndroidStudio+Cordova

1、安裝JDK安裝過程中的路徑可以使用預設的路徑,但是為了後期配置的方便,建議自定義一個簡單的路徑,這裡使用如下路徑:         假設:JDK的安裝路徑設定為  C:\java\jdk1.8         安裝過程中間會彈出JRE的安裝,此時設定JRE的安裝路徑為C:

Git 與 GitLab 環境配置Mac

安裝Git 使用圖形化Git安裝工具,下載地址:https://git-scm.com/downloads 配置GitLab SSH公鑰 Git支援HTTPS和SSH兩種協議,HTTPS每次pull、push時要求輸入密碼,建議使用SSH。 1、檢視本機是否有SSH key。 $

搭建Maven私服NexusCentOS

1、下載Nexus https://www.sonatype.com/download-oss-sonatype 2、解壓Nexus 上傳到/usr/local/nexus資料夾下面, 解壓 tar -zxvf nexus-3.14.0-04-unix.tar.gz 3、配置Nexus服

Node.js安裝及環境配置windows

這裡簡要記載下Node.js安裝流程,畢竟配置環境機會很少,以備後續使用,過程很簡單,但坑還是一如既往有的。 第一步,進入官網下載nodeJS 進入官網“http://nodejs.cn/download/”根據本人電腦,按需下載: 一路【next】,需要

java開發實戰經典第二P217 6-4

6.4   定義員工類,具有姓名、年齡、性別屬性,並具有構造方法和顯示資料方法。定義管理層類,繼承員工類,並具有自己的屬性:職務和年薪。定義職員類繼承員工類,並有自己的屬性:所屬部門和月薪。 package book; //Staff 員工類 public class

C# DirectInput遊戲手柄和鍵盤開發心得2SharpDX

1、SharpDX下載 VS下載: 專案右鍵——管理nuget程式包——瀏覽——搜尋SharpDX——下載 搜尋SharpDX.DirectInput——下載 我是在這裡兩個都下了,應該是自動識別你當

企業微信第三方應用開發授權設定PHP

    開發之前一定要搞明白,企業微信不是企業微訊號,雖然有相似之處,但不盡相同!!!    企業微信第三方應用與企業微信自建應用也不相同,一定要區分! !!    本地測試完成,沒問題了,直接提交上線,就OK啦!!!1.官網地址:https://work.weixin.qq

Mybatis學習之開發環境搭建1

什麼是mybatis MyBatis是支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及結果集的檢索。MyBatis使用簡單的XML或註解用於配置和原始對映,將介面和Java的POJOs(Plan Old

用Html5/CSS3做Winform,步教你搭建CefSharp開發環境附JavaScript異步調用C#例子,及全部源代碼

轉載 界面設計 右鍵 異步 一個 由於 編寫 scrip 調用 本文為雞毛巾原創,原文地址:http://www.cnblogs.com/jimaojin/p/7077131.html,轉載請註明 CefSharp說白了就是Chromium瀏覽器的嵌入式核心,我們用此開發W