當前位置:
首頁 > 知識 > mybatis詳解——properties以及別名定義

mybatis詳解——properties以及別名定義

過去我們介紹了mybatis的增刪改查入門實例,我們發現在 mybatis-configuration.xml
的配置文件中,對資料庫的配置都是硬編碼在這個xml文件中,如下圖,那麼我們如何改進這個寫法呢?

mybatis詳解——properties以及別名定義


我們將 資料庫的配置語句寫在 db.properties 文件中

mybatis詳解——properties以及別名定義

在 mybatis-configuration.xml 中載入db.properties文件並讀取

mybatis詳解——properties以及別名定義

如果資料庫有變化,我們就可以通過修改 db.properties 文件來修改,而不用去修改 mybatis-configuration.xml
文件

注意:我們也可以在中手動增加屬性

mybatis詳解——properties以及別名定義

那麼這個時候是讀取的username 是以 db.properties 文件中的 root 為準,還是以自己配置的 aaa 為準呢?

我們先看一段 properties 文件載入的源碼

mybatis詳解——properties以及別名定義


通過源碼我們可以分析讀取優先順序:   

1、在 properties 內部自定義的屬性值第一個被讀取

2、然後讀取 resource 路徑表示文件中的屬性,如果有它會覆蓋已經讀取的屬性;如果 resource 路徑不存在,那麼讀取 url
表示路徑文件中的屬性,如果有它會覆蓋第一步讀取的屬性值

3、最後讀取 parameterType 傳遞的屬性值,它會覆蓋已讀取的同名的屬性

前面兩步好理解,第三步我們可以舉個例子來看:

我們在 userMapper.xml 文件中進行模糊查詢

mybatis詳解——properties以及別名定義

這個時候你會發現無論你後台傳給這個查詢語句什麼參數,都是 select * from user where username like
"%root%"

mybatis 的別名配置   

在 userMapper.xml 文件中,我們可以看到resultType 和 parameterType
需要指定,這這個值往往都是全路徑,不方便開發,那麼我們就可以對這些屬性進行一些別名設置

mybatis詳解——properties以及別名定義


mybatis 默認支持的別名  

mybatis詳解——properties以及別名定義

mybatis詳解——properties以及別名定義

自定義別名    

一、定義單個別名

首先在全局配置文件 mybatis-configuration.xml 文件中添加如下配置:是在標籤下

mybatis詳解——properties以及別名定義

第二步通過 user 引用

mybatis詳解——properties以及別名定義

二、批量定義別名

在全局配置文件 mybatis-configuration.xml 文件中添加如下配置:是在標籤下

mybatis詳解——properties以及別名定義

引用的時候類名的首字母大小寫都可以。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

簡單版變位詞程序的實現
又到立秋,小編難減肥膘的季節!你那兒涼快了嗎?
論程序員的悶騷日常

TAG:IT優就業 |

您可能感興趣

Mybatis TypeParameterResolver
MyBatis 配置 typeHandlers 詳解
帶著新人學springboot的應用04(springboot+mybatis+redis 完)
Mysql8.0主從搭建,shardingsphere+springboot+mybatis讀寫分離
Spring security + oauth2.0 + redis + mybatis plus 搭建微服務
sprintboot+mybatis踩坑:查詢不到數據list「null」——支持駝峰配置
mybatis使用load data local infile實現導入數據到mysql資料庫
mysql8+mybatis-plus3.1自動生成lombok和swagger和增刪改查介面
mybatis 查詢的時候提示 JDBC requiresJdbcType 錯誤
spring-boot 之 使員Druid 整合Mybatis 最簡配置多數據源
mybatis與spring整合:Dao層映射配置
乾貨——Spring-Security-Mybatis-Demo
關於jqGrid+mybatisplus遇到的坑
Mybatis與Spring的整合
spring+mybatis_多數據源配置
SpringBoot | 第九章:Mybatis-plus 的集成和使用
mybatis細節
SqlSessionTemplate是如何保證MyBatis中SqlSession的線程安全的?
spring+mybatis 實現多數據源切換
Mybatis+velocity自動生成代碼