mybatis:mybatis-config.xml解析

Mybatis配置文件解析

基本元素:

<?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>
    <!-- 定义一些基本属性,下面可以通过${name}的形式引用 -->
    <properties>
        <property name="username" value="root" />
        <property name="password" value="jcw123" />
    </properties>

    <!-- settingsb中的属性是用来定义Configuration这个核心bean的成员属性的
    在执行过程有不同的作用 -->
    <settings>
        <setting name="cacheEnabled" value="true"/>
    </settings>

    <!-- 定义一个类的别名,会放到TypeAliasRegistry这个类的TYPE_ALIASES这个成员的map中 -->
    <typeAliases>
        <typeAlias type="com.im.sky.mybatis.GenericDao" alias="GenericDao" />
        <!-- 可以直接将包下的全路径报名用类的simpleName表示 -->
        <package name="com.im.sky.mybatis" />
    </typeAliases>

    <!-- 会将此信息注册到TypeHandlerRegistry这个类中,当为预处理语句设置参数,或者
    从结果集中取出值时,都会用类型处理器将获取的值以合适的方式转为Java类型 -->
    <typeHandlers>
        <typeHandler handler="com.im.sky.mybatis.handler.ExampleHandler" />
    </typeHandlers>

    <!-- 创建对象的工厂类, 通过反射创建对应的对象 -->
    <objectFactory type="com.im.sky.mybatis.ExampleObjectFactory">
        <property name="name" value="selfFactory" />
        <property name="val" value="heheda" />
    </objectFactory>

    <!-- 对象包装类的工厂类 -->
    <objectWrapperFactory type="com.im.sky.mybatis.ExampleObjectWrapperFactory" />

    <!-- 反射者的创建工厂类,一个反射者会和一个Class对象绑定,进行set、get、成员变量等的解析 -->
    <reflectorFactory type="com.im.sky.mybatis.ExampleReflectorFactory" />

    <!-- 相当于拦截器,在方法执行的某一点进行拦截调用-->
    <plugins>
        <plugin interceptor="com.im.sky.mybatis.interceptor.ExamplePlugin">
            <property name="name" value="jcw" />
            <property name="words"  value="2" />
        </plugin>
    </plugins>

    <!-- 数据源的环境配置,这种机制有助于将SQL映射到多种数据库中,可以配置多个环境,创建SqlSessionFactory时传入不同的env可以设置不同的数据源, 关联一个id、一个事务工厂类、一个datasource -->
    <environments default="test">
        <environment id="test">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/testdb0" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>

    <!-- 设置数据库厂商标识,mybatis可以根据不同的数据库厂商执行不同的语句,这种支持就是基于databaseId属性,其中属性的name标识数据库生产名称,value即表示对应的databaseId -->
    <databaseIdProvider type="DB_VENDOR">
        <property name="SQL Server" value="sqlserver" />
        <property name="DB2" value="db2" />
        <property name="Oracle" value="oracle" />
    </databaseIdProvider>

    <!-- 映射器,定义SQL的映射语句 -->
    <mappers>
        <mapper resource="mapper/Init.xml" />
    </mappers>

</configuration>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值