mybatis學習筆記(5)-配置檔案
mybatis學習筆記(5)-SqlMapConfig
標籤: mybatis
本文主要講解SqlMapConfig配置檔案
SqlMapConfig.xml中配置的內容和順序如下
- properties(屬性)
- settings(全域性配置引數)
- typeAliases(類型別名)
- typeHandlers(型別處理器)
- objectFactory(物件工廠)
- plugins(外掛)
- environments(環境集合屬性物件)
- environment(環境子屬性物件)
- transactionManager(事務管理)
- dataSource(資料來源)
- environment(環境子屬性物件)
- mappers(對映器)
(注:粗體是重點,斜體不常用)
properties(屬性)
將資料庫連線引數單獨配置在db.properties中,只需要在SqlMapConfig.xml中載入db.properties的屬性值。在SqlMapConfig.xml中就不需要對資料庫連線引數硬編碼。
將資料庫連線引數只配置在db.properties中。原因:方便對引數進行統一管理,其它xml可以引用該db.properties。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://120.25.162.238:3306/mybatis001?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123
在sqlMapConfig.xml載入屬性檔案:
<properties resource="db.properties">
<!--properties中還可以配置一些屬性名和屬性值 -->
<!-- <property name="jdbc.driver" value=""/> -->
</properties>
<!-- 和spring整合後 environments配置將廢除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事務管理,事務控制由mybatis-->
<transactionManager type="JDBC" />
<!-- 資料庫連線池,由mybatis管理-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
注意: MyBatis 將按照下面的順序(優先順序)來載入屬性:
- 在
properties
元素體內定義的屬性首先被讀取。 - 然後會讀取
properties
元素中resource或url載入的屬性,它會覆蓋已讀取的同名屬性。 - 最後讀取
parameterType
傳遞的屬性,它會覆蓋已讀取的同名屬性。
建議:
- 不要在
properties
元素體內新增任何屬性值,只將屬性值定義在properties檔案中。 - 在properties檔案中定義屬性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX
settings(全域性引數配置)
mybatis框架在執行時可以調整一些執行引數,比如:開啟二級快取、開啟延遲載入…
全域性引數將會影響mybatis的執行行為。具體參考官網:
typeAliases(類型別名)
在mapper.xml中,定義很多的statement,statement需要parameterType
指定輸入引數的型別、需要resultType
指定輸出結果的對映型別。
如果在指定型別時輸入型別全路徑,不方便進行開發,可以針對parameterType
或resultType
指定的型別定義一些別名,在mapper.xml中通過別名定義,方便開發。
- mybatis預設支援別名
別名 | 對映的型別 |
---|---|
_byte | byte |
_long | long |
_short | short |
_int | int |
_integer | int |
_double | double |
_float | float |
_boolean | boolean |
string | String |
byte | Byte |
long | Long |
short | Short |
int | Integer |
integer | Integer |
double | Double |
float | Float |
boolean | Boolean |
date | Date |
decimal | BigDecimal |
bigdecimal | BigDecimal |
- 自定義別名
- 單個別名定義
- 批量定義別名(常用)
<!-- 別名定義 -->
<typeAliases>
<!-- 針對單個別名定義
type:型別的路徑
alias:別名
-->
<!-- <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/> -->
<!-- 批量別名定義
指定包名,mybatis自動掃描包中的po類,自動定義別名,別名就是類名(首字母大寫或小寫都可以)
-->
<package name="com.iot.mybatis.po"/>
</typeAliases>
typeHandlers(型別處理器)
mybatis中通過typeHandlers完成jdbc型別和java型別的轉換。例如:
<select id="findUserById" parameterType="int" resultType="user">
select * from user where id = #{id}
</select>
mybatis自帶的型別處理器基本上滿足日常需求,不需要單獨定義。
mybatis支援型別處理器
型別處理器 | Java型別 | JDBC型別 |
---|---|---|
BooleanTypeHandler | Boolean,boolean | 任何相容的布林值 |
ByteTypeHandler | Byte,byte | 任何相容的數字或位元組型別 |
ShortTypeHandler | Short,short | 任何相容的數字或短整型 |
IntegerTypeHandler | Integer,int | 任何相容的數字和整型 |
LongTypeHandler | Long,long | 任何相容的數字或長整型 |
FloatTypeHandler | Float,float | 任何相容的數字或單精度浮點型 |
DoubleTypeHandler | Double,double | 任何相容的數字或雙精度浮點型 |
BigDecimalTypeHandler | BigDecimal | 任何相容的數字或十進位制小數型別 |
StringTypeHandler | String | CHAR和VARCHAR型別 |
ClobTypeHandler | String | CLOB和LONGVARCHAR型別 |
NStringTypeHandler | String | NVARCHAR和NCHAR型別 |
NClobTypeHandler | String | NCLOB型別 |
ByteArrayTypeHandler | byte[] | 任何相容的位元組流型別 |
BlobTypeHandler | byte[] | BLOB和LONGVARBINARY型別 |
DateTypeHandler | Date(java.util) | TIMESTAMP型別 |
DateOnlyTypeHandler | Date(java.util) | DATE型別 |
TimeOnlyTypeHandler | Date(java.util) | TIME型別 |
SqlTimestampTypeHandler | Timestamp(java.sql) | TIMESTAMP型別 |
SqlDateTypeHandler | Date(java.sql) | DATE型別 |
SqlTimeTypeHandler | Time(java.sql) | TIME型別 |
ObjectTypeHandler | 任意 | 其他或未指定型別 |
EnumTypeHandler | Enumeration型別 | VARCHAR-任何相容的字串型別,作為程式碼儲存(而不是索引) |
mappers(對映配置)
- 通過resource載入單個對映檔案
<!--通過resource方法一次載入一個對映檔案 -->
<mapper resource="mapper/UserMapper.xml"/>
- 通過mapper介面載入單個mapper
<!-- 通過mapper介面載入單個 對映檔案
遵循一些規範:需要將mapper介面類名和mapper.xml對映檔名稱保持一致,且在一個目錄中
上邊規範的前提是:使用的是mapper代理方法
-->
<mapper class="com.iot.mybatis.mapper.UserMapper"/>
目錄示例
com.iot.mybatis.mapper------------------package包
|----UserMapper.java
|----UserMapper.xml
- 批量載入mapper(推薦使用)
<!-- 批量載入mapper
指定mapper介面的包名,mybatis自動掃描包下邊所有mapper介面進行載入
遵循一些規範:需要將mapper介面類名和mapper.xml對映檔名稱保持一致,且在一個目錄 中
上邊規範的前提是:使用的是mapper代理方法
-->
<package name="com.iot.mybatis.mapper"/>
相關推薦
mybatis學習筆記(5)-配置檔案SqlMapConfig
本文主要講解SqlMapConfig配置檔案 SqlMapConfig.xml中配置的內容和順序如下 properties(屬性)settings(全域性配置引數)typeAliases(類型別名)typeHandlers(型別處理器)objectFactory(物件工
mybatis學習筆記(5)-配置檔案
mybatis學習筆記(5)-SqlMapConfig 標籤: mybatis 本文主要講解SqlMapConfig配置檔案 SqlMapConfig.xml中配置的內容和順序如下 properties(屬性) settings(全域
Mybatis學習筆記-核心配置檔案概述
properties Mybatis核心配置檔案包含了資料庫連線的核心配置和mybatis框架的基礎配置,是mybatis的核心描述檔案。 下面逐一介紹該配置檔案中的常用配置。 1.properties標籤 該標籤常用於定義mybatis環境的常量值
mybatis學習筆記(二)配置檔案
自己只為記錄,方便以後查閱;配置資訊的順序不能顛倒!!!配置資訊的順序不能顛倒!!!配置資訊的順序不能顛倒!!!一、properties有三種配置方式 1、property子元素。2、properties配置檔案 3、程式引數傳遞 properties配置檔案、這種方法用的
MyBatis學習筆記5——
SqlSession 例項在 MyBatis 中是非常強大的一個類。在這裡你會看到所有執行語句、提交或回滾事務和獲取對映器例項的方法。 在 SqlSession 類中有超過 20 個方法,所以將它們組合成易於理解的分組。 執行語句方法 這些方法被用來執行定義在
Panda學習筆記1——配置檔案
web.xml 配置contextConfigLocation 在web.xml中定義contextConfigLocation引數,Spring會使用這個引數去載入所有逗號分隔的xml檔案,如果沒有這個引數,Spring預設載入web-inf/applicat
SpringBoot 學習筆記二 配置檔案詳解
在建立SpringBoot專案時,工程會自動建立一個application.properties,或者application.yml,兩種檔案格式都支援,這裡用application.yml,加入以下配置,注意空格 1. 引入依賴 &
Redis學習筆記--Redis配置檔案Sentinel.conf引數配置詳解
redis-sentinel.conf配置項說明如下: 1.port 26379 sentinel監聽埠,預設是26379,可以修改。 2.sentinel monitor <master-name> <ip> <redis-port> <quorum> 告
spring學習筆記(5)屬性檔案引入使用
外部檔案引用 在配置資料庫引數或郵箱伺服器引數等靜態資源時,相對於直接將資訊寫入Spring的.xml,.java等配置檔案中,更好的做法是將配置資訊分類獨立地存放到外部屬性檔案中,然後在Spring配置檔案中引入使用。這種做法的好處是: 1. 提高配置資訊
MyBatis學習筆記(5)
MyBatis入門之延遲載入 resultMap可以實現高階對映(使用association、collection實現一對一及一對多對映),association、collection具備延遲載入功能。 延遲載入:先從單表查詢、需要時再從關聯表去關聯查詢,大
軟體安全學習筆記(5):FAT32檔案系統與資料恢復
一、FAT32檔案系統結構 1、引導扇區:描述分割槽大小、簇的大小、FAT表個數與大小、分割槽載入程式等。 2、FAT(檔案分配表)FAT1+FAT2:記錄資料儲存區每一個簇的使用情況,形成每個檔案的簇連結串列 3、資料儲存區: 儲存兩類資料:目錄項、檔案資料 二、幾個概
Struts2學習筆記2---配置檔案
在Struts2中主要有兩個配置檔案:web.xml和struts.xml,當新建一個web專案時,可以從Struts2的示例程式中複製一份,然後做相應的修改即可。web.xml的基本形式如下: <web-app id="WebApp_9" version=
Java虛擬機器學習筆記(5)——類檔案結構
上一篇介紹了JVM物件的記憶體分配和回收策略。這篇接著介紹Java的類檔案結構,這篇的內容可能會比較多,我儘量循序漸進的講。要學習class的檔案結構,先要大體對class檔案結構有哪些內容有一個整體把握。現在,看下面一張表。 上面
mybatis學習筆記之——mybatis的XML配置檔案(全域性配置檔案)
MyBatis的配置檔案包含了會深深影響MyBatis行為的設定(settings)和屬性(properties)資訊。我們詳細瞭解一下MyBatis的各種標籤的作用以及使用方法。 properties properties:配置,mybatis可以使用properties標籤來引入外部pr
mybatis學習筆記之——mybatis的Mapper XML對映檔案配置資訊
sql對映檔案對應的增刪改查都有自己的標籤: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
Mybatis 學習筆記——配置檔案SqlMapConfig.xml和對映檔案Mapper.xml
一、SqlMapConfig.xml (一)properties(屬性) 將資料庫連線引數單獨配置在db.properties中,只需要在SqlMapConfig.xml中載入db.properties的屬性值。在SqlMapConfig.xml中就不需要對
mybatis學習筆記(一)之檔案配置
通過 http://mvnrepository.com/ 可以查詢pom.xml檔案的依賴座標 1,、mybatis的 pom.xml 檔案大概依賴如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:
mybatis學習筆記(三)- 全域性配置檔案
1. 引入 dtd 約束 為什麼要引入 dtd 約束 由於 mybatis 的全域性配置檔案很重要,我們學習 mybatis 必須要用到,但是如果不引入 dtd 約束,我們在這個檔案裡將不會得到程式碼提示,會給我們開發帶來極大不便。 引入方法 聯網情況下:直接點
【MyBatis學習筆記】5:認識使用typeHandlers配置型別處理器
簡述 註冊了的型別處理器會用於處理下面兩種情形: 為PreparedStatement設定一個引數,將引數從Java型別轉為JDBC型別。 從ResultSet中取出一個值,將結果從JDBC型別轉為Java型別。 型別處理器可分為以下兩類: MyB
Mybatis學習筆記(二)-Mybatis配置檔案與對映檔案詳解
一、Mybatis配置檔案詳解 以下是mybatis.xml檔案,提倡放在src目錄下,檔名任意 <?xml version="1.0" encoding="UTF-8"?> <