日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyBatis学习总结(三)——优化MyBatis配置文件中的配置

發布時間:2025/6/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatis学习总结(三)——优化MyBatis配置文件中的配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

一、連接數據庫的配置單獨放在一個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。

轉載于:https://my.oschina.net/zhanghaiyang/blog/593060

總結

以上是生活随笔為你收集整理的MyBatis学习总结(三)——优化MyBatis配置文件中的配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。