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