MyBatis學(xué)習(xí)教程(三)-MyBatis配置優(yōu)化
一、連接數(shù)據(jù)庫(kù)的配置單獨(dú)放在一個(gè)properties文件中
之前,我們是直接將數(shù)據(jù)庫(kù)的連接配置信息寫(xiě)在了MyBatis的conf.xml文件中,如下:
<?xml version="." encoding="UTF-"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config .//EN" "http://mybatis.org/dtd/mybatis--config.dtd"> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置數(shù)據(jù)庫(kù)連接信息 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:/mybatis" /> <property name="username" value="root" /> <property name="password" value="XDP" /> </dataSource> </environment> </environments> </configuration>
其實(shí)我們完全可以將數(shù)據(jù)庫(kù)的連接配置信息寫(xiě)在一個(gè)properties文件中,然后在conf.xml文件中引用properties文件,具體做法如下:
1、在src目錄下新建一個(gè)db.properties文件,如下圖所示:
在db.properties文件編寫(xiě)連接數(shù)據(jù)庫(kù)需要使用到的數(shù)據(jù)庫(kù)驅(qū)動(dòng),連接URL地址,用戶名,密碼,如下:
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:/mybatis name=root password=XDP
2、在MyBatis的conf.xml文件中引用db.properties文件,如下:
<?xml version="." encoding="UTF-"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config .//EN" "http://mybatis.org/dtd/mybatis--config.dtd"> <configuration> <!-- 引用db.properties配置文件 --> <properties resource="db.properties"/> <!-- development : 開(kāi)發(fā)模式 work : 工作模式 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置數(shù)據(jù)庫(kù)連接信息 --> <dataSource type="POOLED"> <!-- value屬性值引用db.properties配置文件中配置的值 --> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${name}" /> <property name="password" value="${password}" /> </dataSource> </environment> </environments> </configuration>
二、為實(shí)體類定義別名,簡(jiǎn)化sql映射xml文件中的引用
之前,我們?cè)趕ql映射xml文件中的引用實(shí)體類時(shí),需要寫(xiě)上實(shí)體類的全類名(包名+類名),如下:
<!-- 創(chuàng)建用戶(Create) --> <insert id="addUser" parameterType="me.gacl.domain.User"> insert into users(name,age) values(#{name},#{age}) </insert>
parameterType="me.gacl.domain.User"這里寫(xiě)的實(shí)體類User的全類名me.gacl.domain.User,每次都寫(xiě)這么一長(zhǎng)串內(nèi)容挺麻煩的,而我們希望能夠簡(jiǎn)寫(xiě)成下面的形式
<insert id="addUser2" parameterType="_User"> insert into users(name,age) values(#{name},#{age}) </insert>
parameterType="_User"這樣寫(xiě)就簡(jiǎn)單多了,為了達(dá)到這種效果,我們需要在conf.xml文件中為實(shí)體類="me.gacl.domain.User"定義一個(gè)別名為"_User",具體做法如下:
在conf.xml文件中<configuration></configuration>標(biāo)簽中添加如下配置:
<typeAliases> <typeAlias type="me.gacl.domain.User" alias="_User"/> </typeAliases>
這樣就可以為me.gacl.domain.User類定義了一個(gè)別名為_(kāi)User,以后_User就代表了me.gacl.domain.User類,這樣sql映射xml文件中的凡是需要引用me.gacl.domain.User類的地方都可以使用_User來(lái)代替,這就達(dá)到了一個(gè)簡(jiǎn)化實(shí)體類引用的目的。
除了可以使用<typeAlias type="me.gacl.domain.User" alias="_User"/>這種方式單獨(dú)為某一個(gè)實(shí)體類設(shè)置別名之外,我們還可以使用如下的方式批量為某個(gè)包下的所有實(shí)體類設(shè)置別名,如下:
<!-- 配置實(shí)體類的別名,配置實(shí)體類別名的目的是為了在引用實(shí)體類時(shí)可以使用實(shí)體類的別名來(lái)代替實(shí)體類,達(dá)到簡(jiǎn)寫(xiě)的目的 --> <typeAliases> <!-- 為實(shí)體類me.gacl.domain.User配置一個(gè)別名_User --> <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> --> <!-- 為me.gacl.domain包下的所有實(shí)體類配置別名,MyBatis默認(rèn)的設(shè)置別名的方式就是去除類所在的包后的簡(jiǎn)單的類名 比如me.gacl.domain.User這個(gè)實(shí)體類的別名就會(huì)被設(shè)置成User --> <package name="me.gacl.domain"/> </typeAliases>
<package name="me.gacl.domain"/>就表示為這個(gè)包下面的所有實(shí)體類設(shè)置別名。MyBatis默認(rèn)的設(shè)置別名的方式就是去除類所在的包后的簡(jiǎn)單的類名,比如me.gacl.domain.User這個(gè)實(shí)體類的別名就會(huì)被設(shè)置成User。
以上所述是小編給大家介紹的MyBatis學(xué)習(xí)教程(三)-MyBatis配置優(yōu)化 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- MyBatis入門學(xué)習(xí)教程(一)-MyBatis快速入門
- 詳解MyBatis直接執(zhí)行SQL查詢及數(shù)據(jù)批量插入
- MyBatis學(xué)習(xí)筆記(二)之關(guān)聯(lián)關(guān)系
- MyBatis學(xué)習(xí)教程(二)—如何使用MyBatis對(duì)users表執(zhí)行CRUD操作
- MyBatis學(xué)習(xí)教程(四)-如何快速解決字段名與實(shí)體類屬性名不相同的沖突問(wèn)題
- MyBatis學(xué)習(xí)教程(五)-實(shí)現(xiàn)關(guān)聯(lián)表查詢方法詳解
- MyBatis學(xué)習(xí)教程(六)-調(diào)用存儲(chǔ)過(guò)程
- MyBatis學(xué)習(xí)教程(七)-Mybatis緩存介紹
- MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解
- Mybatis傳遞多個(gè)參數(shù)的解決辦法(三種)
相關(guān)文章
Java設(shè)計(jì)模式之觀察者模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章給大家介紹流量java設(shè)計(jì)模式之觀察者模式,定義對(duì)象間一種一對(duì)多的依賴關(guān)系,使得當(dāng)每一個(gè)對(duì)象改變狀態(tài)。下面通過(guò)類圖和實(shí)例代碼給大家介紹java設(shè)計(jì)模式之觀察者模式,感興趣的朋友一起看看吧2017-08-08Java設(shè)置PDF跨頁(yè)表格重復(fù)顯示表頭行的步驟詳解
這篇文章主要給大家介紹了關(guān)于Java設(shè)置PDF跨頁(yè)表格重復(fù)顯示表頭行的相關(guān)資料,這里使用的是Free Spire.PDF for Java的jar包,Spire.PDF for Java 是一款專門對(duì) PDF 文檔進(jìn)行操作的 Java 類庫(kù),需要的朋友可以參考下2021-07-07Mybatis中SqlMapper配置的擴(kuò)展與應(yīng)用詳細(xì)介紹(1)
這篇文章主要介紹了Mybatis中SqlMapper配置的擴(kuò)展與應(yīng)用(1)的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11JavaWeb使用Session和Cookie實(shí)現(xiàn)登錄認(rèn)證
本篇文章主要介紹了JavaWeb使用Session和Cookie實(shí)現(xiàn)登錄認(rèn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03Java8函數(shù)式編程應(yīng)用小結(jié)
Java8非常重要的就是引入了函數(shù)式編程的思想,使得這門經(jīng)典的面向?qū)ο笳Z(yǔ)言有了函數(shù)式的編程方式,彌補(bǔ)了很大程度上的不足,函數(shù)式思想在處理復(fù)雜問(wèn)題上有著更為令人稱贊的特性,本文給大家介紹Java8函數(shù)式編程應(yīng)用小結(jié),感興趣的朋友一起看看吧2023-12-12Java使用EasyExcel進(jìn)行單元格合并的問(wèn)題詳解
項(xiàng)目中需要導(dǎo)出并合并指定的單元格,下面這篇文章主要給大家介紹了關(guān)于java評(píng)論、回復(fù)功能設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06Spring?Cloud?Gateway編碼實(shí)現(xiàn)任意地址跳轉(zhuǎn)
這篇文章主要介紹了Spring?Cloud?Gateway編碼實(shí)現(xiàn)任意地址跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2023-06-06使用Java實(shí)現(xiàn)三種等級(jí)的掃雷游戲(完整版)
掃雷是一款大眾類的益智小游戲,根據(jù)點(diǎn)擊格子出現(xiàn)的數(shù)字找出所有非雷格子,同時(shí)避免踩雷,踩到一個(gè)雷即全盤(pán)皆輸,下面這篇文章主要給大家介紹了關(guān)于使用Java實(shí)現(xiàn)三種等級(jí)的掃雷游戲的相關(guān)資料,需要的朋友可以參考下2023-01-01