1. 程式人生 > >第一章——認識mybatis

第一章——認識mybatis

1.1、mybatis的執行框架圖:

1、 首先我們需要配置MyBATIS的配置資訊,它可以有兩種方法進行提供。裡面可以配置資料來源,Mapper載入資訊,快取,類的別名還有其他資源的配置。

2、有了配置資訊,我們將通過配置資訊生成我們需要的SqlSessionFactory這個工廠類,然後我們就可以通過它生成我們MyBATIS的核心介面SqlSession物件。

3、 在SqlSession物件裡,我們既可以獲取Mapper通過Mapper去執行介面方法,也可以直接在SqlSession裡面直接通過字串去排程Mapper註冊的SQL

上面論述的可能對於初學者不是很明白,但是這個不重要,我們只需要有初步的概念即可,下面我們會詳細逐個論述。當然這裡只是一個簡單的圖,我們並沒有討論MyBATIS

後臺的現實。

1.2、例項:

1.2.1  使用檔案簡介

我們先看看檔案分佈圖:

介紹一下檔案的作用,如下表:

檔案

作用

備註

configuration-chapter1.xml

MyBATIS的配置檔案

配置基本資訊。

log4j.properties

配置log4j日誌檔案輸出

配置MyBATIS採用log4j日誌輸出。

userMaper.xml

使用xml

檔案配置對映器

UserPO.java

POJO物件類檔案

符合Java Bean規範

MainCh1.java

測試類檔案。

程式入口

UserMapper.java

對映器介面(使用xml方式)

好了,這裡只是簡單的介紹了MyBATIS的基本構成檔案,大家有個概念即可。

所需jar包:關於mybatis相關的包可以到  http://mybatis.github.io/  下載,這裡我使用了log4j作為日誌,所以使用了log4j相關的包。

這裡我使用的是MySQL資料庫,簡易啟動也快,不怎麼耗資源,所以推薦使用。我們只需要建一張表即可,在mysql中執行下面sql即可。

  1. DROPTABLE IF EXISTS `t_user`;  
  2. CREATETABLE `t_user` (  
  3.   `ID` int(11) NOTNULL,  
  4.   `USERNAME` varchar(60) NOTNULL,  
  5.   `PASSWORDvarchar(60) NOTNULL,  
  6.   `BIRTHDAY` dateNOTNULL,  
  7.   `MOBILE` varchar(20) NOTNULL,  
  8.   `TEL` varchar(20) DEFAULTNULL,  
  9.   `EMAIL` varchar(100) DEFAULTNULL,  
  10.   `NOTE` text,  
  11.   PRIMARYKEY (`ID`)  
  12. ) ;  
  13. INSERTINTO `t_user`(`ID`,`USERNAME`,`PASSWORD`,`BIRTHDAY`,`MOBILE`,`TEL`,`EMAIL`,`NOTE`) VALUES (1,'ykzhen','12345','2015-02-18','13533666666','0756-6666666','[email protected]','資料檔案');  
  14. commit;  

1.2.2 檔案詳解

我們從程式入口介紹,讓我們先看看檔案。

MainCh1.java

  1. package com.ykzhen.ch1.test;  
  2. import com.ykzhen.ch1.mapper.UserMapper;  
  3. import com.ykzhen.ch1.po.UserPO;  
  4. import java.io.IOException;  
  5. import org.apache.log4j.Logger;  
  6. import org.apache.ibatis.io.Resources;  
  7. import org.apache.ibatis.session.SqlSession;  
  8. import org.apache.ibatis.session.SqlSessionFactory;  
  9. import org.apache.ibatis.session.SqlSessionFactoryBuilder;  
  10. /** 
  11.  * 
  12.  * @author ykzhen. 
  13.  */
  14. publicclass MainCh1 {  
  15.     publicstaticvoid main(String[] args) {  
  16.         //定義 SqlSessionFactory
  17.         SqlSessionFactory sqlSessionFactory = null;  
  18.         try {  
  19.             //使用配置檔案建立 SqlSessionFactory
  20.             sqlSessionFactory = new SqlSessionFactoryBuilder().build(  
  21.                     Resources.getResourceAsReader("configuration-chapter1.xml"));  
  22.         } catch (IOException ex) {  
  23.             //列印異常.
  24.             Logger.getLogger(MainCh1.class.getName()).fatal("建立 SqlSessionFactory失敗", ex);  
  25.             return;  
  26.         }  
  27.         //定義 sqlSession
  28.         SqlSession sqlSession = null;  
  29.         try {  
  30.             //用sqlSessionFactory建立sqlSession
  31.             sqlSession = sqlSessionFactory.openSession();  
  32.             //獲取Mapper
  33.             UserMapper userMapper = sqlSession.getMapper(UserMapper.class);  
  34.             //執行Mapper介面方法.
  35.             UserPO user = userMapper.findUser(1);  
  36.             //列印資訊
  37.             System.err.println(user.getUsername());  
  38.         } finally {  
  39.             //使用完後要記得關閉sqlSession資源
  40.             if (sqlSession != null) {  
  41.                 sqlSession.close();  
  42.             }  
  43.         }  
  44.     }  
  45. }  

很顯然,上述程式碼要構建SqlSessionFactory是依賴於configuration-chapter1.xml檔案的。

它的內容如下:

configuration-chapter1.xml

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPE configuration       
  3.     PUBLIC "-//mybatis.org//DTD Config 3.0//EN"       
  4.     "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6.     <typeAliases>
  7.         <!--給實體類起一個別名 UserPO -->
  8.         <typeAliastype="com.ykzhen.ch1.po.UserPO"alias="UserPO"/>
  9.     </typeAliases>
  10.     <!--資料來源配置  這塊用 mysql資料庫 -->
  11.     <environmentsdefault="development">
  12.         <environmentid="development">
  13.             <transactionManagertype="jdbc"/>
  14.             <dataSourcetype="POOLED">
  15.                 <propertyname="driver"value="com.mysql.jdbc.Driver"/>
  16.                 <propertyname="url"value="jdbc:mysql://localhost:3306/oa"/>
  17.                 <propertyname="username"value=

    相關推薦

    第一 認識Mybatis的核心元件

    1、可以從http://www.softpedia.com/get/Programming/Other-Programming-Files/MyBatis.shtml下載mybatis的jar包。2、mybatis的核心元件mybatis是由4個部分構成,sqlsession

    第一——認識mybatis

    1.1、mybatis的執行框架圖: 1、 首先我們需要配置MyBATIS的配置資訊,它可以有兩種方法進行提供。裡面可以配置資料來源,Mapper載入資訊,快取,類的別名還有其他資源的配置。 2、有了配置資訊,我們將通過配置資訊生成我們需要的SqlSessionFactory這

    第一 認識Packet Tracer軟件

    color white cto class -s 分享 oss ces apple 一、實驗名稱 認識packet軟件二、實驗內容 1、安裝 Packer Tracer; 2、利

    SSM-1第一 認識SSM框架和Redis

    自己 trac ret change 生成 初始 nts static class 第一章 認識SSM框架和Redis 1.1 Spring框架 Sring理念 Ioc 控制反轉 IOC是一個容器,在Spring中,它會認為一切Java資源都是JavaBean,

    NDK第一--認識NDK及簡單的輸出hello world

    交叉編譯 在一個平臺下,編譯出另一個平臺能夠執行的二進位制程式碼 平臺:windows,mac,os,linux 處理器:x86,arm,mips 交叉編譯的原理 原始碼–>編譯–>連線–>可執行程式 模擬其他的平臺特

    第 3 認識 MyBatis 核心元件

    3.1 持久層的概念和 MyBatis 的特點 3.2 準備 MyBatis 的環境 jar包及其原始碼下載地址:https://github.com/mybatis/mybatis-3/releases 官方文件地址:http://www.mybatis.org/mybatis-

    《使用SSM框架開發企業級應用》第一 初始MyBatis

    單詞 MyBatis框架   SqlSessionFactory工廠   SqlSessionFactoryBuider構造器 SqlSession使用   Configuration配置  Mapper對映  Environment環境 Property性質    D

    第一Mybatis開發環境搭建,整合mysql資料庫

    一)開發前準備 mybatis-3.4.6.jar mysql-connector-java-5.1.34-bin.jar 說明:在本章末尾有原始碼下載地址,裡面已包含jar 二)Mybatis開發環境搭建 1) 建立一個Dynamic Web Project,名稱

    第一 初識 MyBatis

    day01 範圍 符號 持久層 cto 存儲 root ace ase 概念:優秀持久層框架:實體類和SQL語句之間建立映射關系 與hibernate區別 :自動生成sql語句,並且建立實體類和數據表的映射。 MyBatis基本要素:核心對象 核心配置文件

    MyBatis從入門到精通:第一配置MyBatis

    從入門到精通 sim efault 入門到 eve lse version 例如 div <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC

    第一 Shiro簡介——跟我學習springmvc shiro mybatis

    spring mvc+my batis kafka dubbo+zookeerper restful redis分布式緩存 1.1 簡介Apache Shiro是Java的一個安全框架。目前,使用Apache Shiro的人越來越多,因為它相當簡單,對比Spring Security,可能沒

    JAVA-初步認識03-第一命令行

    退出 界面 當前 dos window 強制 來源 隨著 小技巧 一.來源 早期計算機的操作是DOS命令行操作,命令行有很多種,這裏說的是windows系統。後來隨著時間的發展,計算機的人機互動從磁盤操作方式變為圖形化操作界面。在這裏我們講述DOS並不是從它早期的起源來的,

    JAVA-初步認識01-第一

    必須 全部 其他 數據庫 有序 實現 命令 編輯器 組織 一.目的 首先,我們要討論的是為什麽要學習JAVA?知道了JAVA的定義,也就知道了為什麽學習JAVA。JAVA屬於一種軟件開發工具,那麽學習JAVA就是為了開發軟件。 軟件是將指令和數據有序地的組織在一起,開發軟

    docker入坑學習 第一docker快速認識

    快速瞭解docker命令 docker run docker run 用於從映象建立一個新的容器,並執行一個命令 Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG…] 常用操作 操作 說明 示例

    第一 MyBatis概述和環境搭建

    第一章 MyBatis概述和環境搭建 1.1 Mybatis框架和最佳實踐 在web開發中的最佳實踐,根據職責的劃分:控制層,業務層,持久層。 控制層:web/mvc (負責處理與與介面互動的的相關操作) (struct2/SpringMVC) 業務層:service (負責複雜的業務

    spring mvc+Mybatis整合shiro 第一 整體配置

    前段時間研究了一下shiro,因為看不懂英文所以學習過程頗為曲折,後來整合shiro想寫一個sso結果這段時間又寫不下去了只好來寫寫部落格了。 最初學shiro是在百度搜教程,說實話那些教程除了開濤寫的其它人寫的確實不怎麼樣,而且開濤的教程也不是特別詳細的那種,所以我在這給

    第一 企業專案開發--maven+springmvc+spring+mybatis+velocity整合

    說明:本系列文章主要是對自己在一家大型網際網路公司實習的過程中對所學知識的總結!參與的是實際中使用的上線專案。 一、ssmm簡介 ssmm是當下企業最常用的開發框架架構 maven:管理專案jar包,構建專案 spring:IOC容器,事務管理 springmvc:mvc框架 myBati

    第一認識HTTP,區分URI 、URL 、URN

    1、認識Http HTTP是一種網路傳輸協議即超文字傳輸協議(還有其他檔案傳輸協議FTP、郵件傳輸協議SMTP等),就是大家講好規矩,都按這個規矩來,有序規範,並保證資料傳輸的穩定性與

    第一 Mybatis構建ORM應用

            MyBatis 是支援普通 SQL 查詢,儲存過程和高階對映的優秀持久層框架。 MyBatis 消除了幾乎所有的 JDBC 程式碼和引數的手工設定以及對結果集的檢索。 MyBatis 可

    認識django2.0讀書筆記(1)---第一 介紹

    文件下載地址:Django_2.0_中文教程  http://download.csdn.net/detail/julius_lee/6620099 線上地址:http://djangobook.py3k.cn/2.0/ Django 2.0 Book 關鍵內容記錄,主要是