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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybaits三:全局配置文件(全面)

發(fā)布時間:2025/6/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybaits三:全局配置文件(全面) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自: ?https://www.cnblogs.com/pjfmeng/p/7677773.html

在全集配置文件中引入dtd約束“http://mybatis.org/dtd/mybatis-3-config.dtd”,主要有以下幾個標(biāo)簽,現(xiàn)在詳細(xì)解釋下這幾個標(biāo)簽的使用

?1、properties屬性----引入外部properties配置文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 1、mybatis使用properties來引入外部properties配置文件的內(nèi)容 resource 引入類路徑下資源 url 引入網(wǎng)絡(luò)路徑或磁盤路徑下資源 --><properties resource="db.properties"></properties><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers> </configuration>

db.properties文件

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/spring_mybatis jdbc.name=root jdbc.password=tuniu520

相當(dāng)有之前寫的,這里的jdbc連接信息寫在datasource中的property屬性下,沒有引入外部配置文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/spring_mybatis" /><property name="username" value="root" /><property name="password" value="tuniu520" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers> </configuration>

?

2、settings 運(yùn)行時行為設(shè)置

可查看mybatis文檔,settings有很多配置項,如

這里試驗下mapUnderscoreToCamelCase,可以自動完成hotelName到數(shù)據(jù)庫中字段hotel_name的轉(zhuǎn)換

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 1、mybatis使用properties來引入外部properties配置文件的內(nèi)容resource 引入類路徑下資源url 引入網(wǎng)絡(luò)路徑或磁盤路徑下資源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的設(shè)置項setting標(biāo)識具體的設(shè)置項name表示設(shè)置項的名字value表示設(shè)置項的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers> </configuration>

?之前寫的sql語句可以直接修改成

<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel">select id,hotel_name as hotelName, hotel_address as hotelAddress, price from hotelwhere id=#{id}</select>修改為<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel">select * from hotel where id=#{id}</select>

3、typeAliases別名配置

? ? ?查看代碼中3的注解

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 1、mybatis使用properties來引入外部properties配置文件的內(nèi)容resource 引入類路徑下資源 url 引入網(wǎng)絡(luò)路徑或磁盤路徑下資源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的設(shè)置項setting標(biāo)識具體的設(shè)置項 name表示設(shè)置項的名字 value表示設(shè)置項的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><!-- 3、typeAliases 為java類型起別名,別名不區(qū)分大小寫 typeAlias 為某個具體的java類型取別名 type java類的全類名,默認(rèn)別名就是類名小寫 alias 自定義別名 --> <typeAliases><typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" /><!-- package為某個包下面所有類批量起別名 name 表示包的名稱 默認(rèn)別名為類名小寫 這里重復(fù)配置了Hotel類,復(fù)制的時候注掉一種配置--><package name="com.pjf.mybatis.po" /></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers> </configuration>

已經(jīng)為許多常見的 Java 類型內(nèi)建了相應(yīng)的類型別名。它們都是大小寫不敏感的,需要注意的是由基本類型名稱重復(fù)導(dǎo)致的特殊處理,8種基本數(shù)據(jù)類型類型別名是下劃線加數(shù)據(jù)類型。

4、typeHandlers 類型處理器

將java中的類型和數(shù)據(jù)庫中的類型進(jìn)行映射

<!-- typeHandlers 類型處理器mybatis3.4之后,這些類型處理器都是自動注冊的 --><typeHandlers><typeHandler handler="BooleanTypeHandler"/></typeHandlers>

可以填寫以下處理器

5、environments環(huán)境配置

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 1、mybatis使用properties來引入外部properties配置文件的內(nèi)容resource 引入類路徑下資源 url 引入網(wǎng)絡(luò)路徑或磁盤路徑下資源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的設(shè)置項setting標(biāo)識具體的設(shè)置項 name表示設(shè)置項的名字 value表示設(shè)置項的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><!-- 3、typeAliases 為java類型起別名,別名不區(qū)分大小寫 typeAlias 為某個具體的java類型取別名 type java類的全類名,默認(rèn)別名就是類名小寫 alias 自定義別名 --> <typeAliases><typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" /><!-- package為某個包下面所有類批量起別名 name 表示包的名稱 默認(rèn)別名為類名小寫<package name="com.pjf.mybatis.po" />--></typeAliases><!-- 4、typeHandlers 類型處理器--><typeHandlers><typeHandler handler=""/></typeHandlers><!-- 5、environments環(huán)境配置,可以配置多種環(huán)境 default指定使用某種環(huán)境,可以達(dá)到快速切換environment配置一個具體的環(huán)境信息,必須有如下兩個標(biāo)簽,id表示當(dāng)前環(huán)境的唯一標(biāo)識transactionManager 事物管理器type 事物管理器的類型 有兩種取值 JDBCmanageddataSource 數(shù)據(jù)源 type 有三種[UNPOOLED|POOLED|JNDI]--><environments default="development"><environment id="test"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment><environment id="development"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper></mappers> </configuration>

?6、mappers ?sql映射文件注冊

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 1、mybatis使用properties來引入外部properties配置文件的內(nèi)容resource 引入類路徑下資源 url 引入網(wǎng)絡(luò)路徑或磁盤路徑下資源 --><properties resource="db.properties"></properties><!-- 2、settings包含很多重要的設(shè)置項setting標(biāo)識具體的設(shè)置項 name表示設(shè)置項的名字 value表示設(shè)置項的值 --><settings><setting name="mapUnderscoreToCamelCase" value="true" /></settings><!-- 3、typeAliases 為java類型起別名,別名不區(qū)分大小寫 typeAlias 為某個具體的java類型取別名 type java類的全類名,默認(rèn)別名就是類名小寫 alias 自定義別名 --> <typeAliases><typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" /><!-- package為某個包下面所有類批量起別名 name 表示包的名稱 默認(rèn)別名為類名小寫<package name="com.pjf.mybatis.po" />--></typeAliases><!-- 4、typeHandlers 類型處理器--><typeHandlers><typeHandler handler=""/></typeHandlers><!-- 5、environments環(huán)境配置,可以配置多種環(huán)境 default指定使用某種環(huán)境,可以達(dá)到快速切換environment配置一個具體的環(huán)境信息,必須有如下兩個標(biāo)簽,id表示當(dāng)前環(huán)境的唯一標(biāo)識transactionManager 事物管理器type 事物管理器的類型 有兩種取值 JDBCmanageddataSource 數(shù)據(jù)源 type 有三種[UNPOOLED|POOLED|JNDI]--><environments default="development"><environment id="test"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment><environment id="development"><transactionManager type="JDBC" /><!-- 配置數(shù)據(jù)庫連接信息 --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.name}" /><property name="password" value="${jdbc.password}" /></dataSource></environment></environments><!--6、 mappers將sql映射注冊到全局配置文件中mapper注冊一個sql映射1、注冊配置文件resource引用類路徑下文件url 引用網(wǎng)絡(luò)上或磁盤路徑下文件2、注冊mapper接口class 有映射文件,接口和映射文件必須同名,而且放在同一個路徑里如果沒有映射文件,sql語句使用注解的方式,就需要注冊接口了3、package批量注冊 使用批量注冊, 接口和映射文件必須同名,而且放在同一個路徑里 --><mappers><mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper><mapper class=""/><package name="com.pjf.mybatis.po"/></mappers> </configuration>

7、databaseIdProvider多數(shù)據(jù)庫支持

MyBatis 可以根據(jù)不同的數(shù)據(jù)庫廠商執(zhí)行不同的語句,這種多廠商的支持是基于映射語句中的?databaseId?屬性。 MyBatis 會加載不帶?databaseId?屬性和帶有匹配當(dāng)前數(shù)據(jù)庫?databaseId?屬性的所有語句。 如果同時找到帶有?databaseId?和不帶?databaseId?的相同語句,則后者會被舍棄。?

<databaseIdProvider type="DB_VENDOR"></databaseIdProvider>

8、plugins 插件

MyBatis 允許你在已映射語句執(zhí)行過程中的某一點進(jìn)行攔截調(diào)用。

<plugins><plugin interceptor=""></plugin> </plugins>

注:這些標(biāo)簽編寫是有先后順序的,可以吧鼠標(biāo)放在configuration上,就可以看到順序了

(properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)

總結(jié)

以上是生活随笔為你收集整理的mybaits三:全局配置文件(全面)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。