zoukankan      html  css  js  c++  java
  • Mybatis全局配置文件

    一、mybatis的约束文件:规定xml中标签的语法规则

    "http://mybatis.org/dtd/mybatis-3-config.dtd"

    二、用于引入外部properties文件:

    <properties resource="dbConfig.properties"></properties>

    其中有两种引入方式:

    1、resource:引入类路径下的资源

    2、url:引入网络路径下的资源


    三、设置重要项目:settings包含很多重要设置项目

    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    

    四、别名处理:为某个类指定一个其他的名字


    <typeAliases>
        <!--
        typeAlias:为某个Java类型起别名
        type:指定要起的别名的类型名,默认是类名小写employee
        alias:指定别名名字
        -->
        <typeAlias type="bean.Employee"/>
    </typeAliases>

    为多个类批量取别名:

    <package name="bean"/>

    name:为包名

    也可以直接在实体类上注解


    最好写全类名,找起来方便

    五、类型处理器:架起数据库类型和Java类型一一映射的桥梁

    六、插件:可以允许我们拦截sql语句执行的一些核心步骤,利用插件进行拦截的——拦截其实就是动态代理

    Executor:执行器

    ParameterHandler:参数处理器

    ResultSetHander:结果集处理器

    StatementHandler:sql语句处理器

    后面细说------

    七、环境

    4、配置mybatis运行环境,mybatis可以配置多种环境。default:指定使用某种环境(开发、测试之类)
    environment:配置一个具体的环境信息。id代表当前环境的唯一标识
        必须有这两个标签:transactionManager:事务管理器。
                                type:事务管理器的类型 JDBC(JdbcTransactionFactory) 或 MANAGER(ManagerTransactionFactory)
                                自定义事务管理器:实现TransactionFactory接口,type指定为全类名
                dataSource:数据源
                    type:POOLED(UnpooledDataSourceFactory)、
                          UNPOOLED(PooledDataSourceFactory)、
                          JNDI(JndiDataSourceFactory)
                 自定义数据源:实现DataSourceFactory接口,type是全类名         
    -->
    <environments default="development">
        <environment id="development">
            <!--type=“JDBC”代表使用JDBC的提交和回滚来管理事务-->
            <transactionManager type="JDBC"/>
    
            <!--mybatis提供了3种数据源类型,分别是POOLED、UNPOOLED、JNDI-->
            <!--POOLED表示支持JDBC数据源连接池-->
            <!--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:支持多数据厂商

    <databaseIdProvider type="DB_VENDOR">
        <!--为不同的数据库厂商起别名-->
        <property name="MySQL" value="mysql"/>
        <property name="Oracle" value="oracle"/>
        <property name="SQL Server" value="sqlserver"/>
    </databaseIdProvider>
    

    在mapper映射文件中指定操作哪种数据库


    使用:(数据库切换)


    九、mapper标签:将sql映射文件注册到全局配置文件中

    <mappers>
        <!--注册方式1,一个一个的配置-->
        <mapper resource="mapper/EmployMapper.xml"/>
        <!--注册方式2,自动包内的mapper接口与配置文件-->
        <!--<package name="mapper"/>-->
    </mappers>

    整体:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE configuration
            PUBLIC "-//mapper.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <!--
        1、mybatis可以使用properties标签来引入外部properties配置文件的内容
        resource:引入类路径下的资源
        url:引入网络路径或磁盘路径下的资源
        -->
        <properties resource="dbConfig.properties"></properties>
        <!--
        2、settings包含了很多重要的设置项目
        setting:用来设置每一个设置项
        name:设置项的名字
        value:设置项的取值
        -->
        <settings>
            <setting name="mapUnderscoreToCamelCase" value="true"/>
        </settings>
        <!--3、typeAliases别名处理器:可以为我们的Java类型起别名
        别名不区分大小写
        -->
        <typeAliases>
            <!--
            1)、typeAlias:为某个Java类型起别名
            type:指定要起的别名的类型名,默认是类名小写employee
            alias:指定别名名字
            -->
            <typeAlias type="bean.Employee"/>
            <!--
            2)、package批量起别名:为某个包下的所有类起别名
            name:指定报名(为当前包以及下面的所有后代的包每个类都起一个默认别名)
            -->
            <package name="bean"/>
            <!--3)、批量其别名也可以使用@Alias注解在某个类上-->
        </typeAliases>
    
        <!--
        4、配置mybatis运行环境,mybatis可以配置多种环境。default:指定使用某种环境(开发、测试之类)
        environment:配置一个具体的环境信息。id代表当前环境的唯一标识
            必须有这两个标签:transactionManager:事务管理器。
                                    type:事务管理器的类型 JDBC(JdbcTransactionFactory) 或 MANAGER(ManagerTransactionFactory)
                                    自定义事务管理器:实现TransactionFactory接口,type指定为全类名
                    dataSource:数据源
                        type:POOLED(UnpooledDataSourceFactory)、
                              UNPOOLED(PooledDataSourceFactory)、
                              JNDI(JndiDataSourceFactory)
                     自定义数据源:实现DataSourceFactory接口,type是全类名
        -->
        <environments default="oracle">
            <environment id="mysql">
                <!--type=“JDBC”代表使用JDBC的提交和回滚来管理事务-->
                <transactionManager type="JDBC"/>
                <!--mybatis提供了3种数据源类型,分别是POOLED、UNPOOLED、JNDI-->
                <!--POOLED表示支持JDBC数据源连接池-->
                <!--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>
            <environment id="oracle">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <property name="driver" value="${oracle.driver}"/>
                    <property name="url" value="${oracle.url}"/>
                    <property name="username" value="${oracle.username}"/>
                    <property name="password" value="${oracle.password}"/>
                </dataSource>
            </environment>
        </environments>
        <!--
        5、databaseIdProvider:支持多数据库厂商的
        type="DB_VENDOR":VendorDatabaseIdProvider
            作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能够根据数据库厂商的标识来执行不同的sql
            MySQL、Oracle、SQL Server,、、、、、
        -->
        <databaseIdProvider type="DB_VENDOR">
            <!--为不同的数据库厂商起别名-->
            <property name="MySQL" value="mysql"/>
            <property name="Oracle" value="oracle"/>
            <property name="SQL Server" value="sqlserver"/>
        </databaseIdProvider>
    
    
        <!--注册Mapper映射文件方式-->
        <!--
        6、mappers:将sql映射文件注册到全局配置文件中
        mapper:注册一个sql映射
            注册配置文件
            resource:引用类路径下的sql映射文件
            url:引用网络路径或磁盘路径下的sql映射文件
            注册接口
            class:引用(注册)接口
            1、有sql映射文件,且映射文件必须和接口同名,并且放在同一目录下
            2、没有sql映射文件,所有sql都是利用注解写在接口上
            推荐写sql映射文件
        package:批量注册
        -->
        <mappers>
            <!--注册方式1,一个一个的配置-->
            <mapper resource="mapper/EmployMapper.xml"/>
            <!--注册方式2,自动包内的mapper接口与配置文件-->
            <!--<package name="mapper"/>-->
        </mappers>
    </configuration>


  • 相关阅读:
    HTTP 错误 404.17
    ASP.NET 日志组件Smart.LogNet.DLL 引用即可写入日志及读取日志
    委托(Func与Action)
    三元表达式
    http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查
    文件流的读写操作
    6.递归加载文件目录树(递归自己加载自己)
    文件基本操作
    线程
    委托
  • 原文地址:https://www.cnblogs.com/huangzhe1515023110/p/9276085.html
Copyright © 2011-2022 走看看