MyBatis2-全局配置文件

二.全局配置文件

MyBatis 的配置文件包含了影响 MyBatis 行为甚深的
设置(settings)和属性(properties)信息。文档的
顶层结构如下:

• configuration 配置
    • properties 属性
    • settings 设置
    • typeAliases 类型命名
    • typeHandlers 类型处理器
    • objectFactory 对象工厂
    • plugins 插件
    • environments 环境
        • environment 环境变量
            • transactionManager 事务管理器
            • dataSource 数据源
    • databaseIdProvider 数据库厂商标识
    • mappers 映射器
2.1 properties
<!--mybatis可以使用properties来引入外部properties配置文件的内容
    resource:引入类路径下资源           
     url:引入网络路径下的资源-->
<properties resource="dbconfig.properties"/>

<!--dbconfig.properties:-->

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis1
jdbc.username=root
jdbc.password=123456

<!--数据库搭载:-->

<dataSource type="POOLED">
    <!--导入了properties后可以直接使用内部配置内容-->
    <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>
2.2 settings
<!--
    settings包含很多重要的设置项
        settings:用来设置每一个设置项
            name:设置项名
            value:设置项取值
-->

[settings中各属性详解](https://blog.csdn.net/u014231523/article/details/53056032)

<!--例:设置驼峰命名法-->
<settings>
    <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
2.3 typeAliases
<typeAliases>
        <!--
        typeAliases:别名处理器,可以为java类型起别名
            注意:别名不区分大小写
            typeAlias:为某个类单独起别名
                type:指定要起别名的类型全类名,默认别名就是类名小写:employee
                alias:指定新的别名
            package:为某个包下的所有类批量起别名
                name:指定包名(为当前包以及下面所有的后代包的每一个类都起一个默认别名(类名小写))
            @Alias:批量起别名的情况下,在类前加@Alias标签,标签内的值,为其新的别名

            建议:还是使用全类名,这样不易混淆,并且利用ctrl加左键可以直接进入bean
        -->
        <!--<typeAlias type="com.itlc.mybatis.HelloWorld.New.bean.Employee" alias="emp"/>-->
        <package name="com.itlc.mybatis.HelloWorld.New.bean"/>
    </typeAliases>
2.4 environments
<!--
        environments:环境,mybatis可以配置多种环境,default指定使用某种环境。可以快速切换环境
            environment:对应一个具体的环境信息
                必须有transactionManager:事务管理器
                    type:事务管理器类型(别名);JDBC(JdbcTransactionFactory)\MANAGED(ManagedTransactionFactory)
                        自定义事务管理器:实现TransactionFactory接口。type指定为全类名
                必须有dataSource:
                    type:数据源类型(别名);UNPOOLED(UnpooledDatasourceFactory)
                                            \POOLED(PooledDatasourceFactory)
                                            \JNDI(JndiDatasourceFactory)
                    自定义数据源:实现DatasourceFactory接口。type指定为全类名

    -->
    <environments default="development">
        <environment id="test">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED"/>
        </environment>

        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <!--导入了properties后可以直接使用内部配置内容-->
                <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>
2.5 databaseIdProvider
<!--
        databaseIdProvider:支持多数据库厂商
        type="DB_VENDOR"(别名):VendorDatabaseIdProVider
            作用就是得到数据厂商的标识,mybatis就能根据数据库厂商标识(驱动getDatabaseProductName())
            mybatis就能根据数据库厂商标识来执行不同的sql。标识:MySQL,Oracle,SQL Server,xxxx
    -->
    <databaseIdProvider type="DB_VENDOR">
        <!--为不同的数据库厂商起别名-->
        <property name="MySQL" value="mysql"/>
        <property name="Oracle" value="oracle"/>
        <property name="SQL Server" value="sqlserver"/>
    </databaseIdProvider>
    <!--
        在mapper中利用databaseId指定数据库类型即可,例:
            <select id="getEmpById" resultType="Emp" databaseId="mysql">
                Select * FROM tbl_employee WHERE id=#{id}
            </select>
    -->
2.6 mappers
    <!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 -->
    <!--6.mappers:将sql映射注册到全局配置中-->
    <mappers>
        <!--
        mapper:注册一个sql映射
            resource:引用类路径下的sql映射文件
            url:引用网络路径或者磁盘路径下的sql映射文件
            class:引用(注册)接口
                1.有sql映射文件,映射文件名和接口同名,并且放在与接口同一目录下
                2.没有sql映射文件,所有的sql都是利用注解写在接口上
                推荐:
                    比较重要的:复杂的Dao接口我们来写sql映射文件
                    不重要,简单的Dao接口为了开发快速可以使用注解
        -->
        <mapper class="com.itlc.mybatis.HelloWorld.New.dao.testEmployeeMapper"/>
        <mapper resource="EmployeeMapper.xml" />
        <!--批量注册:-->
        <package name="com.itlc.mybatis.HelloWorld.New.dao"/>
    </mappers>

猜你喜欢

转载自blog.csdn.net/maniacxx/article/details/79947287