1. 程式人生 > >MyBatis學習總結(三)——優化MyBatis配置檔案中的配置

MyBatis學習總結(三)——優化MyBatis配置檔案中的配置

一、連線資料庫的配置單獨放在一個properties檔案中

  之前,我們是直接將資料庫的連線配置資訊寫在了MyBatis的conf.xml檔案中,如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4     <environments default
="development"> 5 <environment id="development"> 6 <transactionManager type="JDBC" /> 7 <!-- 配置資料庫連線資訊 --> 8 <dataSource type="POOLED"> 9 <property name="driver" value="com.mysql.jdbc.Driver" /> 10 <
property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> 11 <property name="username" value="root" /> 12 <property name="password" value="XDP" /> 13 </dataSource> 14 </environment> 15 </environments> 16 17
</configuration>

  其實我們完全可以將資料庫的連線配置資訊寫在一個properties檔案中,然後在conf.xml檔案中引用properties檔案,具體做法如下:

  1、在src目錄下新建一個db.properties檔案,如下圖所示:

  

  在db.properties檔案編寫連線資料庫需要使用到的資料庫驅動,連線URL地址,使用者名稱,密碼,如下:

1 driver=com.mysql.jdbc.Driver
2 url=jdbc:mysql://localhost:3306/mybatis
3 name=root
4 password=XDP

  2、在MyBatis的conf.xml檔案中引用db.properties檔案,如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4 
 5     <!-- 引用db.properties配置檔案 -->
 6     <properties resource="db.properties"/>
 7     <!-- 
 8         development : 開發模式
 9         work : 工作模式
10      -->
11     <environments default="development">
12         <environment id="development">
13             <transactionManager type="JDBC" />
14             <!-- 配置資料庫連線資訊 -->
15             <dataSource type="POOLED">
16                 <!-- value屬性值引用db.properties配置檔案中配置的值 -->
17                 <property name="driver" value="${driver}" />
18                 <property name="url" value="${url}" />
19                 <property name="username" value="${name}" />
20                 <property name="password" value="${password}" />
21             </dataSource>
22         </environment>
23     </environments>
24     
25 </configuration>

二、為實體類定義別名,簡化sql對映xml檔案中的引用

  之前,我們在sql對映xml檔案中的引用實體類時,需要寫上實體類的全類名(包名+類名),如下:

<!-- 建立使用者(Create) -->
<insert id="addUser" parameterType="me.gacl.domain.User">
    insert into users(name,age) values(#{name},#{age})
</insert>

  parameterType="me.gacl.domain.User"這裡寫的實體類User的全類名me.gacl.domain.User,每次都寫這麼一長串內容挺麻煩的,而我們希望能夠簡寫成下面的形式

<insert id="addUser2" parameterType="_User">
    insert into users(name,age) values(#{name},#{age})
</insert>

  parameterType="_User"這樣寫就簡單多了,為了達到這種效果,我們需要在conf.xml檔案中為實體類="me.gacl.domain.User"定義一個別名為"_User",具體做法如下:
  在conf.xml檔案中<configuration></configuration>標籤中新增如下配置:

<typeAliases>
    <typeAlias type="me.gacl.domain.User" alias="_User"/>
</typeAliases>

  這樣就可以為me.gacl.domain.User類定義了一個別名為_User,以後_User就代表了me.gacl.domain.User類,這樣sql對映xml檔案中的凡是需要引用me.gacl.domain.User類的地方都可以使用_User來代替,這就達到了一個簡化實體類引用的目的。

  除了可以使用<typeAlias type="me.gacl.domain.User" alias="_User"/>這種方式單獨為某一個實體類設定別名之外,我們還可以使用如下的方式批量為某個包下的所有實體類設定別名,如下:

<!-- 配置實體類的別名,配置實體類別名的目的是為了在引用實體類時可以使用實體類的別名來代替實體類,達到簡寫的目的 -->
    <typeAliases>
        <!-- 為實體類me.gacl.domain.User配置一個別名_User -->
        <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> -->
        <!-- 為me.gacl.domain包下的所有實體類配置別名,MyBatis預設的設定別名的方式就是去除類所在的包後的簡單的類名
        比如me.gacl.domain.User這個實體類的別名就會被設定成User
         -->
        <package name="me.gacl.domain"/>
    </typeAliases>

  <package name="me.gacl.domain"/>就表示為這個包下面的所有實體類設定別名。MyBatis預設的設定別名的方式就是去除類所在的包後的簡單的類名,比如me.gacl.domain.User這個實體類的別名就會被設定成User。

相關推薦

MyBatis學習總結()——優化MyBatis配置檔案配置

一、連線資料庫的配置單獨放在一個properties檔案中   之前,我們是直接將資料庫的連線配置資訊寫在了MyBatis的conf.xml檔案中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configur

Mybatis學習總結一之MyBatis配置檔案配置及其優化

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

Mybatis學習總結之簡化sql對映xml檔案的引用及解決欄位名與實體類屬性名不相同的衝突

一、為實體類定義別名,簡化sql對映xml檔案中的引用 我們在sql對映xml檔案中的引用實體類時,需要寫上實體類的全類名(包名+類名),如下:parameterType="com.aiit.pojo.User"這裡寫的實體類User的全類名com.aiit.pojo.User, <i

Mybatis學習總結(動態SQL)

mage pac png erl close poj inf per 學習總結 通過mybatis提供的各種標簽方法實現動態拼接sql。 一、if 和 where 1 <select id="findUserList" parameterType="user

二:MyBatis學習總結(二)——使用MyBatis對錶執行CRUD操作 MyBatis學習總結(一)——MyBatis快速入門

上一篇博文MyBatis學習總結(一)——MyBatis快速入門中我們講了如何使用Mybatis查詢users表中的資料,算是對MyBatis有一個初步的入門了,今天講解一下如何使用MyBatis對users表執行CRUD操作。本文中使用到的測試環境是上一篇博文中的測試環境。 一、使用MyBatis對錶執行

Mybatis學習總結一】Mybatis的helloworld

近日跟隨某網站某PDF開始學習MyBatis框架。 一 MyBatis介紹 MyBatis 是支援 普通 SQL 查詢 , 儲存過程 和 高階對映 的優秀持久層框架。MyBatis 消除了幾乎所有的

Maven學習總結(八):Myecplise配置maven

第一步:下載maven安裝包,配置環境變數M2_HOME;變數值為maven的解壓目錄。 第二步:在eclipse4.0之前的版本需要安裝maven外掛,方法即:將maven外掛包複製到eclipse安裝目錄的dropins資料夾下,安裝之後版本的eclipse和myeclipse,無需安裝外掛。本人是用的

SpringBoot學習)從yml檔案獲取資料和Thymeleaf 模板引擎

SpringBoot現在基本上都是使用application.yml來配置專案中的一些配置條件,在springboot中還可以通過從yml檔案中將yml中的資料直接讀取出來。 一、從yml檔案中獲取資料 在yml配置下面的資訊 book: au

Spring配置檔案配置資料庫連線(mysql,sqlserver,oracle)

xml配置檔案中配置如下: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"

Spring配置檔案配置property標籤的name和ref的區別:

在看李剛的《Java EE企業實戰》,裡面有一個關於Spring的配置的 <bean id=“person” class=“service.Person”> <!-- 控制器呼叫setAxe方法,將容器中的axe bean作為傳入的引數 --> <!–此處的na

Spring Boot Cache + redis 設定有效時間和自動重新整理快取,時間支援在配置檔案配置

分享一下我老師大神的人工智慧教程吧。零基礎,通俗易懂!風趣幽默!http://www.captainbed.net/ 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

配置檔案配置事務的標準規範

程式碼如下 <!-- 配置事務 --> <tx:annotation-driven/> <!-- 配置事物管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource

Spring Boot快取實戰 Redis 設定有效時間和自動重新整理快取,時間支援在配置檔案配置

問題描述 Spring Cache提供的@Cacheable註解不支援配置過期時間,還有快取的自動重新整理。 我們可以通過配置CacheManneg來配置預設的過期時間和針對每個快取容器(value)單獨配置過期時間,但是總是感覺不太靈活。下面是一個示例: @Bean

Spring配置檔案配置事物

"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/contex

Maven配置檔案配置指定JDK版本

1. 在setting.xml檔案中的<profiles>標籤加入如下配置:<profile> <id>jdk-1.8</id>

使用sed修改配置檔案配置項的值

大致思路如下:     sed修改某一個檔案的配置項的值         1.找到行號 ,比如得到的行號是9                    sed -n '/aaa/=' config.ini         2.刪除這一行,再新增你想加的內容,          

Spring進階之路(8)-java程式碼與配置檔案配置

實際開發中並不會需要你將程式碼轉為配置檔案的形式去呈現,但是,我寫著一系列博文的目的並不是教你如何去專案中進行開發,因為包括之前的幾篇博文中你會發現並不是在講專案的實踐的,我的想法是這樣的:為一些對Spring有所瞭解但是並不深入的朋友拓寬知識面,讓你不僅僅會用Spring

Hibernate配置檔案配置MySQL編碼問題

個人小菜鳥一枚,在使用Hibernate配置MySQL資料庫時,發現又出現中文亂碼問題.於是乎不管三七二十一,在jdbc的url路徑後面新增上 ?useUnicode=true&amp;characterEncoding=utf-8;  但是Hibernate卻報錯

MyBatis學習)--使用日誌和優化配置檔案

寫在前面 大體結構還是參照大大的部落格,但是自己會嘗試補充一些內容 孤傲蒼狼的部落格:https://www.cnblogs.com/xdp-gacl/category/655890.html 程式碼中會有很多重要的註釋,請不要忽略。 一、使用日誌 為了後面方便和deb

MyBatis學習總結——優化MyBatis配置檔案配置

MyBatis學習總結——優化MyBatis配置檔案中的配置 一、連線資料庫的配置單獨放在一個properties檔案中   之前,我們是直接將資料庫的連線配置資訊寫在了MyBatis的conf.xml檔案中,如下: 複製程式碼 <?xml version="1.0" encodi