MyBatis的标签

<properties>标签

可以用来获取外部properties配置文件的信息

driver:com.mysql.jdbc.Driver
url:jdbc:mysql:///JDBC
username:root
password:root
<!--    加载配置文件dbconfig.properties-->
    <properties resource="dbconfig.properties"> </properties>
    
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

<settings>标签

包含很多重要的设置项,setting用来设置每一个设置项,name用来设置项名,value用来设置想取值。

<settings>
  <setting name="cacheEnabled" value="true"/>
  <setting name="lazyLoadingEnabled" value="true"/>
  <setting name="multipleResultSetsEnabled" value="true"/>
  <setting name="useColumnLabel" value="true"/>
  <setting name="useGeneratedKeys" value="false"/>
  <setting name="autoMappingBehavior" value="PARTIAL"/>
  <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
  <setting name="defaultExecutorType" value="SIMPLE"/>
  <setting name="defaultStatementTimeout" value="25"/>
  <setting name="defaultFetchSize" value="100"/>
  <setting name="safeRowBoundsEnabled" value="false"/>
  <setting name="mapUnderscoreToCamelCase" value="false"/>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="jdbcTypeForNull" value="OTHER"/>
  <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>

<typeAliases>标签

别名处理器,可以为java类型起别名

    <typeAliases>
<!-- 为某个类起别名-->
        <typeAlias type="Util.User" alias="user"></typeAlias>
<!-- 给某个包下的所有类批量起别名(默认别名 类名的小写)-->
        <package name="Util"/>

    </typeAliases>

注意:在进行批量取别名时可能出现一个问题,就是该包下的子包也存在一个类名和该包下的类名相同,此时就会出现别名冲突的错误,这时我们可以用注解对冲突的类名进行重命名。
在这里插入图片描述

使用注解进行重命名

package Util.Test;

import org.apache.ibatis.type.Alias;

@Alias("use")
public class user {
}

<environments>标签

配置环境,mybatis可以配置多种环境,default可以指定使用某种环境。environment用来配置一个具体的环境,id 代表当前环境的唯一标识。transactionManager事务管理器,里面的type选择事务管理器的类型一般有两种分别为JDBC和MANAGED;dataSource数据源,里面的type有三个选项分别是UNPOOLED,不使用连接池,POOLED,使用连接池;JNDI。

<environments default="test">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>

        <environment id="test">
            <transactionManager type="JDBC"/>
            <dataSource type="UNPOOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

<databaseIDProvider>标签

支持多种数据库厂商,在MyBatisXML配置文件里面配置不同数据库的别名,然后再Mapper文件中配置databaseID的属性使其能够在不同数据库进行查询。

<databaseIdProvider type="DB_VENDOR">
        <property name="MySQL" value="mysql"/>
        <property name="Oracle" value="oracle"/>
</databaseIdProvider>

<Mappers>标签

将sql映射注册到全局配置中,每个mapper标签就是注册一个mapper映射。resource引用类路径下的文件;url引用网络路径下的文件。class属性注册接口,必须有sql映射文件且映射文件名必须和接口同名且在同一路径下,也可以基于注解进程查询。 package将包内的映射器接口实现全部注册为映射器。

<!-- 使用相对于类路径的资源引用 -->
<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
<!-- 使用完全限定资源定位符(URL) -->
<mappers>
  <mapper url="file:///var/mappers/AuthorMapper.xml"/>
  <mapper url="file:///var/mappers/BlogMapper.xml"/>
  <mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
<!-- 使用映射器接口实现类的完全限定类名 -->
<mappers>
  <mapper class="org.mybatis.builder.AuthorMapper"/>
  <mapper class="org.mybatis.builder.BlogMapper"/>
  <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
<!-- 将包内的映射器接口实现全部注册为映射器 -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>

注意:标签的编辑是有顺序的,其顺序为(properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)依次递减。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值