關(guān)于MyBaties的基本配置標(biāo)簽總結(jié)
MyBaties的基本配置標(biāo)簽
1-全局配置文件(xxx.properties)引入的兩種方式
- resource:引入類路徑下的資源
- url:引入網(wǎng)絡(luò)路徑或磁盤(pán)路徑下的資源
<properties resource="dbconfig.properties"></properties>
2-settings包含設(shè)置項(xiàng)
name:配置項(xiàng)
value:屬性值
<settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
3-typeAliases:別名處理器,為java類型起別名
type:指定要起別名的類型全類名;默認(rèn)別名就是類名小寫(xiě)
alias:指定新的別名
<typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/>
3.1 為某個(gè)包下所有類起別名
package:為某個(gè)包下的所有類批量起別名
name:指定包名(為當(dāng)前包以及下面所有的后代包的每一個(gè)類都起一個(gè)默認(rèn)別名(類名小寫(xiě))
<package name="com.atguigu.mybatis.bean"/>
3.2 使用注解@Alias為某個(gè)類指定新的類型
@Alias("emp")
public class Employee {
...code...
}
4-配置多種MyBatis環(huán)境
- enviroments:配置的環(huán)境們都寫(xiě)在里面,default指定這個(gè)環(huán)境的名稱
- environment:配置一個(gè)具體的環(huán)境信息,有id唯一標(biāo)識(shí)與transactionManager事務(wù)管理器
- id:唯一標(biāo)識(shí)
- transactionManager:事務(wù)管理器,它的有屬性type
- type:事務(wù)管理器的類型JDBC MANAGED 自定義事務(wù)管理器
- dataSource:數(shù)據(jù)源
- type:數(shù)據(jù)源類型 UNPOOLED POOLED JNDI 自定義
<environments default="dev_mysql">
<environment id="dev_mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
<environment id="dev_oracle">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${orcl.driver}" />
<property name="url" value="${orcl.url}" />
<property name="username" value="${orcl.username}" />
<property name="password" value="${orcl.password}" />
</dataSource>
</environment>
</environments>
5-databaseIdProvider:支持多數(shù)據(jù)庫(kù)
- databaseIdProvider:支持多數(shù)據(jù)庫(kù),它的type為DB_VENDOR作用就是得到數(shù)據(jù)庫(kù)廠商的標(biāo)識(shí)(驅(qū)動(dòng)getDatabaseProductName()),mybatis就能根據(jù)數(shù)據(jù)庫(kù)廠商標(biāo)識(shí)來(lái)執(zhí)行不同的sql;
- property:為數(shù)據(jù)庫(kù)起名字
- name:
- value:
<databaseIdProvider type="DB_VENDOR"> <!-- 為不同的數(shù)據(jù)庫(kù)廠商起別名 --> <property name="MySQL" value="mysql"/> <property name="Oracle" value="oracle"/> <property name="SQL Server" value="sqlserver"/> </databaseIdProvider>
最終,在mapper.xml中寫(xiě)入查詢時(shí)的的語(yǔ)句,并申明使用到的數(shù)據(jù)庫(kù)是什么
<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper">
<select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee">
select * from tbl_employee where id = #{id}
</select>
<select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"
databaseId="mysql">
select * from tbl_employee where id = #{id}
</select>
<select id="getEmpById" resultType="com.atguigu.mybatis.bean.Employee"
databaseId="oracle">
select EMPLOYEE_ID id,LAST_NAME lastName,EMAIL email
from employees where EMPLOYEE_ID=#{id}
</select>
</mapper>
6-mappers將sql文件注冊(cè)進(jìn)入全局配置文件
6.1注冊(cè)配置文件:
- resource:引用類路徑下的sql映射文件例如:mybatis/mapper/EmployeeMapper.xml
- url:引用網(wǎng)路路徑或者磁盤(pán)路徑下的sql映射文件例如:file:///var/mappers/AuthorMapper.xml
6.2注冊(cè)接口:
有sql映射文件,映射文件名必須和接口同名,并且放在與接口同一目錄下;
<mapper resource="mybatis/mapper/EmployeeMapper.xml"/>
沒(méi)有sql映射文件,所有的sql都是利用注解寫(xiě)在接口上,然后再mappers中進(jìn)行注冊(cè);
public interface EmployeeMapperAnnotation {
@Select("select * from tbl_employee where id=#{id}")
public Employee getEmpById(Integer id);
}
<mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/>
6.3批量注冊(cè):
本質(zhì)上,如果包名相同,不管是src內(nèi)還是src外的文件,實(shí)際存儲(chǔ)過(guò)程中會(huì)被存儲(chǔ)到同一個(gè)文件夾中
<package name="com.atguigu.mybatis.dao"/>
到此這篇關(guān)于關(guān)于MyBaties的基本配置標(biāo)簽總結(jié)的文章就介紹到這了,更多相關(guān)MyBaties的基本配置標(biāo)簽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解spring boot使用@Retryable來(lái)進(jìn)行重處理
本篇文章主要介紹了詳解spring boot使用@Retryable來(lái)進(jìn)行重處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
SpringCloud 服務(wù)網(wǎng)關(guān)路由規(guī)則的坑及解決
這篇文章主要介紹了SpringCloud 服務(wù)網(wǎng)關(guān)路由規(guī)則的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
利用json2POJO with Lombok 插件自動(dòng)生成java類的操作
這篇文章主要介紹了利用json2POJO with Lombok 插件自動(dòng)生成java類的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
Dubbo+zookeeper搭配分布式服務(wù)的過(guò)程詳解
Dubbo作為分布式架構(gòu)比較后的框架,同時(shí)也是比較容易入手的框架,適合作為分布式的入手框架,下面是簡(jiǎn)單的搭建過(guò)程,對(duì)Dubbo+zookeeper分布式服務(wù)搭建過(guò)程感興趣的朋友一起看看吧2022-04-04
spring中定時(shí)任務(wù)taskScheduler的詳細(xì)介紹
這篇文章主要介紹了spring中定時(shí)任務(wù)taskScheduler的相關(guān)資料,文中通過(guò)示例代碼介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看看吧。2017-02-02
Mybatis入門(mén)指南之實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)增刪改查
數(shù)據(jù)持久層主要負(fù)責(zé)數(shù)據(jù)的增、刪、改、查等功能,MyBatis 則是一款優(yōu)秀的持久層框架,下面這篇文章主要給大家介紹了關(guān)于Mybatis入門(mén)指南之實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)增刪改查的相關(guān)資料,需要的朋友可以參考下2022-10-10
使用lombok的@Data會(huì)導(dǎo)致棧溢出StackOverflowError問(wèn)題
這篇文章主要介紹了使用lombok的@Data會(huì)導(dǎo)致棧溢出StackOverflowError問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

