MyBatis(2),配置文件属性详解

MyBatis(2),配置文件属性详解

在mybatis的项目中,有一个mybatis-config.xml的配置文件,这个配置文件是mybatis的全局配置文件,用来进行相关的全局配置,在任何操作下都生效的配置。这次对配置文件其中的属性进行详细解释

配置文档的顶层结构

注意: 顺序必须严格按照结构要求,不然会报错
在这里插入图片描述

properties

当需要引入外部的配置文件的时候,可以使用这样的方式,类似于Spring中的property-placeholder
resource:表示从当前项目的类路径中进行加载,如果用的是IDEA指的是resources资源目录下的配置文件
url:可以从当前文件系统的磁盘目录查找配置,也可以从网络上的资源进行引入

settings

可以影响mybatis的行为,包含N多个属性,是mybatis中的重要配置,需要什么引入什么,具体属性详见官网https://mybatis.org/mybatis-3/zh/configuration.html#plugins
name: 设置名
value: 值
例如:

<!--开启驼峰标识验证-->
<setting name="mapUnderscoreToCamelCase" value="true"/>

typeAliases

表示在引入实体类的名称时候,可以使用别名,而不需要写完全限定名

<!--
type:实体类
alias:别名
-->
<typeAlias type="com.mashibing.bean.Emp" alias="Emp"></typeAlias>
<!--
如果需要引用多个类,那么给每一个类起别名肯定会很麻烦,因此可以指定对应的包名,那么默认用的是类名,
可以同时存在
-->
<package name="com.yangqihang.bean"/>

typeHandlers

设置自定义的类型处理器,mybatis中默认内置了很多类型处理器,一般不需要自己来实现。具体内容见官网,初学用不到此功能
typeHandler: 添加指定的类型处理器
package: 添加指定包下的所有类型处理器

objectFactory

当需要自定义对象工厂的时候实现此标签,完成结果集到Java对象实例化的过程,一般不需要自己实现
底层使用反射进行实现的

plugins

插件,最常用的就是pageHelper,具体详见官网

environments

在项目开发中,会包含开发环境,测试环境,生产环境,有可能会使用不同的数据源进行连接操作,在此配置文件中可以指定多个环境

<!-- defauult表示选择哪个环境作为运行时环境 -->
<environments default="development">
    <!--
    配置具体的环境属性
    id:表示当前环境的名称
    -->
    <environment id="development">
        <!--
        事务管理器,每一种数据源都需要配置具体的事务管理器
        type:表示事务管理器的类型,有2种
	        JDBC:使用jdbc原生的事务控制
	        MANAGED:什么都没做
        -->
        <transactionManager type="JDBC"/>
        <!--
        配置具体的数据源的类型
        type:表示数据源的类型,3种
	        POOLED:使用数据库连接池
	        UNPOOLED:每次都打开和关闭一个连接
	        JNDI:不用
        -->
        <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>
</environments>

databaseIdProvider

提供了不同的数据库厂商的标识,当有数据库移植的需求的时候,可以根据不同的数据库来执行不同的SQL语句,用来扩展数据库的移植性

<!-- 
type属性固定是DB_VENDOR
name:数据厂商
value:别名
 -->
<databaseIdProvider type="DB_VENDOR">
    <property name="SQL Server" value="sqlserver"/>
    <property name="MySQL" value="mysql"/>
    <property name="Oracle" value="oracle" />
</databaseIdProvider>

mappers

用来将mapper映射文件引入到配置文件中,方便程序启动的时候进行加载,每次在进行填写的时候需要注意,写完xml映射之后一定要添加到mybatis-config文件中

<mapper></mapper>

子标签mapper有3个属性
resource:表示从当前项目的类路径中进行加载对应的映射文件,如果用的是IDEA指的是resources资源目录下的映射文件
url:从本地磁盘目录或者网络中引入映射文文件
class:可以直接引入类的完全限定名,可以使用注解的方式进行使用,如果需要使用XML映射文件的方式,需要将XML映射文件放在映射接口类的相同目录下
在这里插入图片描述
如果是maven项目且放在的是java目录下,由于在java目录中不会编译除java外的其它文件,需要在pom.xml中添加

<build>
   <resources>
        <resource>
            <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
    </resource>
    </resources>
</build>

子标签package

<!--
如果需要引入多个配置文件,可以直接定义包的名称
resources目录下配置的映射文件必须要具备相同的目录
-->
<package name="com.yangqihang.mapper"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值