Mybatis學(xué)習(xí)筆記(二)全局配置文件詳解
1、properties——引入外部配置文件
2、settings——修改mybatis的運(yùn)行時(shí)行為
3、typeAliases——為類型起別名
3.1、單個(gè)起別名
3.2、批量起別名
3.3、在批量起別名的時(shí)候自定義別名
1、properties——引入外部配置文件
2、settings——修改mybatis的運(yùn)行時(shí)行為
3、typeAliases——為類型起別名
3.1、單個(gè)起別名
3.2、批量起別名
3.3、在批量起別名的時(shí)候自定義別名
4、environments——環(huán)境配置
5、databaseIdProvider——數(shù)據(jù)庫(kù)移植
6、mappers——批量注冊(cè)
Mybatis專欄
1、properties——引入外部配置文件
dbconfig.properties
driverclass=com.mysql.cj.jdbc.Driver username=root password=root url=jdbc:mysql://localhost:3306/mybatis0325?serverTimezone=Asia/Shanghai&useSSL=true
mybatis-config.xml
測(cè)試
@Test publicvoid test() throws IOException { //1、根據(jù)全局配置文件創(chuàng)建出一個(gè)SqlSessionFactory //SqlSessionFactory:是SqlSession工廠,負(fù)責(zé)創(chuàng)建SqlSession對(duì)象 //SqlSession:sql會(huì)話(代表和數(shù)據(jù)庫(kù)的一次會(huì)話) String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); Employee empById; //獲取和數(shù)據(jù)庫(kù)的一次會(huì)話:getConnection() SqlSession openSession = sqlSessionFactory.openSession(); try { //使用SqlSession操作數(shù)據(jù)庫(kù),獲取dao接口的實(shí)現(xiàn) EmployeeDao mapper = openSession.getMapper(EmployeeDao.class); empById = mapper.getEmpById(1); } finally { //關(guān)閉連接 openSession.close(); } System.out.println(empById); }
2、settings——修改mybatis的運(yùn)行時(shí)行為
以下測(cè)試Mybatis的駝峰命名規(guī)則
settings具體參數(shù)配置可參考Mybatis的官方文檔
什么是駝峰命名法?
駱駝式命名法(Camel-Case)又稱駝峰式命名法,是電腦程式編寫(xiě)時(shí)的一套命名規(guī)則(慣例)。正如它的名稱CamelCase所表示的那樣,是指混合使用大小寫(xiě)字母來(lái)構(gòu)成變量和函數(shù)的名字。程序員們?yōu)榱俗约旱拇a能更容易的在同行之間交流,所以多采取統(tǒng)一的可讀性比較好的命名方式。
增加表中字段
給新建字段設(shè)置值
可以看見(jiàn)loginAccount值為null
在mybatis-config.xml添加如下
測(cè)試,loginAccount有值
3、typeAliases——為類型起別名
3.1、單個(gè)起別名
在mybatis-config.xml添加如下
EmployeeDao.xml
測(cè)試
3.2、批量起別名
此時(shí)resultType還寫(xiě)emp就會(huì)報(bào)錯(cuò)
寫(xiě)類名
測(cè)試
3.3、在批量起別名的時(shí)候自定義別名
使用emp測(cè)試
4、environments——環(huán)境配置
好處:開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境需要有不同的配置,就可以使用該配置。
不過(guò)要記住:盡管可以配置多個(gè)環(huán)境,但每個(gè) SqlSessionFactory 實(shí)例只能選擇一種環(huán)境。
每個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)一個(gè) SqlSessionFactory 實(shí)例
5、databaseIdProvider——數(shù)據(jù)庫(kù)移植
標(biāo)簽放置順序,可以缺少,但順序要一致,不然就會(huì)報(bào)錯(cuò)
應(yīng)用場(chǎng)景
項(xiàng)目從mysql切換到Oracle或者其他數(shù)據(jù)庫(kù),由于語(yǔ)法不同,我們寫(xiě)的Sql語(yǔ)句就會(huì)報(bào)錯(cuò),所以就要使用databaseIdProvider。
按順序添加databaseIdProvider
sql語(yǔ)句分類設(shè)置
如果能精確匹配就匹配,沒(méi)有就用模糊的
6、mappers——批量注冊(cè)
mapper中可填參數(shù)
批量注冊(cè)
注意:xml要和java放在同一目錄下,且名稱一樣
這么操作確實(shí)看著有點(diǎn)不順眼,可以在conf文件夾下創(chuàng)建同樣的包
運(yùn)行沒(méi)有問(wèn)題
覺(jué)得博主寫(xiě)的不錯(cuò)的讀者大大們,可以關(guān)注和哦,謝謝各位!
MyBatis 數(shù)據(jù)庫(kù)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。