MyBatis

MyBatis-第一章java

 

ORM(Object Relational Mapping)  設計模式,思想sql

對象關係映射,是一種數據持久化技術。它在對象模型和關係型數據庫之間創建起對應關係,而且提供了一種機制,經過JavaBean對象去操做數據庫表中的數據。數據庫

Object     Relation    Mapping設計模式

對象       關係       映射安全

 

Object:    java的對象mybatis

Relation:   關係型數據庫app

 

初始MyBatis 具體實現框架

是一個優秀的數據持久化框架,在實體類和SQL語句之間創建映射關係,是一種半自動化的ORM實現。其封裝性要低於Hibernate,性能優秀,而且小巧、簡單易學,如今應用也愈來愈普遍。性能

 

MyBatis環境部署測試

1.去官網下載相關的jar和配置

2.添加jar包

 

 

 

3.添加配置文件 入口配置文件

       3.1 總配置文件 mybatis-config.xml (相似jdbc.properties)

              配置和鏈接數據庫的主要信息;

              指定mapper文件

 

             

       3.2 Mapper文件(一個dao對應一個mapper文件)

              一個dao對應一個mapper文件,對應一個表

          寫操做數據庫的sql語句的

4. service層

5. 測試類

 

 

一個插入例子

1. 建立一個示例表 BOOK 先使用teacher表

列名

類型

約束

備註

book_id

number

序列自增

主鍵

book_name

varchar2(32)

 

圖書名稱

book_auth

varchar2(32)

 

圖書做者

book_brief

varchar2(32)

 

圖書描述

book_create_date

date

默認時間

時間戳

2. 建立java項目

3. 導包ojdbc6.jar,mybatis-3.2.6.jar

4. 建立MVC文件層結構

 

 

 

5. 建立實體類 Book.java

6. 配置主配置文件 mybatis-config.xml

 

 

 

7. 配置mapper文件,主要寫SQL語句,插入,修改,刪除

 

 

8. Test_Main測試

 

 

 

 

select 示例1

teacher表,字段和實體類名字一致

select 示例2

book表,字段和實體類名字不一致,須要映射

 

resultType 返回具體某個類

resultMap 返回一個map集合

 

 

SqlSessionFactory

              SqlSessionFactory是MyBatis的關鍵對象,它是個單個數據庫映射關係通過編譯後的內存鏡像.SqlSessionFactory對象的實例能夠經過SqlSessionFactoryBuilder對象類得到,而SqlSessionFactoryBuilder則能夠從XML配置文件或一個預先定製的Configuration的實例構建出SqlSessionFactory的實例.每個MyBatis的應用程序都以一個SqlSessionFactory對象的實例爲核心.同時SqlSessionFactory也是線程安全的,SqlSessionFactory一旦被建立,應該在應用執行期間都存在.在應用運行期間不要重複建立屢次,建議使用單例模式.SqlSessionFactory建立SqlSession的工廠。

    整個MyBatis運行期間的核心工廠,大部分類都由它生產製造。

 

SqlSession

SqlSession是MyBatis的關鍵對象,是執行持久化操做的獨享,相似於JDBC中的Connection.它是應用程序與持久層之間執行交互操做的一個單線程對象,也是MyBatis執行持久化操做的關鍵對象.SqlSession對象徹底包含以數據庫爲背景的全部執行SQL操做的方法,它的底層封裝了JDBC鏈接,能夠用SqlSession實例來直接執行被映射的SQL語句.每一個線程都應該有它本身的SqlSession實例.SqlSession的實例不能被共享,同時SqlSession也是線程不安全的,絕對不能將SqlSeesion實例的引用放在一個類的靜態字段甚至是實例字段中.也毫不能將SqlSession實例的引用放在任何類型的管理範圍中,好比Servlet當中的HttpSession對象中.使用完SqlSeesion以後關閉Session很重要,應該確保使用finally塊來關閉它.

              一次請求數據的鏈接,相似於JDBC中的Connection

 

執行順序1

1. 首先加載mybatis-config.xml總配置文件,根據development的參數配置鏈接數據庫;查詢mappers映射關係,找到mapper.xml配置文件

2. 執行mapper.xml文件,該文件記錄了運行SQL;準備id的名字等待被調用

3. TestMain 生成SqlSessionFactory工廠對象

4. 由工廠對象生成SqlSession,而後打開鏈接數據庫鏈接通道

5. 對應調用mapper.xml文件中的id,執行mapper.xml中SQL語句

6. 關閉SqlSession

 

 

.dtd 文件

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

文檔類型定義(Document Type Definition)是一套爲了進行程序間的數據交換而創建的關於標記符的語法規則。

對應 window --> preferencrs --> xml --> xml catalog –> .xsd

命名空間

相關文章
相關標籤/搜索