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>
    
    <!-- 1.properties:用来引入外部的属性文件
            属性:
                -resource:引入类路径下的属性文件
                -url:引入网络上或者磁盘上的属性文件    
     -->
    <properties resource="db.properties">
        <property name="jdbc.password" value="123456"/>
    </properties><!--  如果引入文件里边有name属性,文件属性覆盖property;如果没有使用property;如果这两个都没有,报异常   -->
    
    <!-- 2.settings:用来配置MyBatis中的一些设置 -->
    <settings>
        <!-- 
            name:指定要配置的属性的名字
            value:指定设置的属性值
         -->
         <!-- 开启驼峰命名法,可以将数据库中的下划线映射为驼峰命名 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <!-- 3.typeAliases:用来设置别名(不建议起别名)
            子标签typeAlias
                属性:    
                    -type:设置要起别名的类的全类名,如果不指定alias属性值,那么默认别名就是类的首字母小写,但是别名不区分大小写
                    -alias:设置别名
            子标签package
                给某一个包及其子包下所有的类都起别名,默认是类的首字母小写    
                也可以同@Alias注解给类起别名
     -->
    <typeAliases>
<!--         <typeAlias type="com.atguigu.mybatis.entities.Employee" alias="employee"/> -->
        <package name="com.atguigu.mybatis.entities"/>
    </typeAliases>
    
    <!-- 4.typeHandlers:用了设置类型转换器 -->
<!--     <typeHandlers> -->
        <!-- 如果有特殊需求,需要自定义类型转换器时,将类型转换器的全类名设置到handler属性中 -->
<!--         <typeHandler handler="类型转换器的全类名"/> -->
<!--     </typeHandlers> -->
    
    <!-- 5.plugins:用来设置插件对MyBatis四大对象的行为的拦截 -->
<!--     <plugins> -->
        <!-- interceptor:用来设置插件的全类名 -->
<!--         <plugin interceptor="插件的全类名"></plugin> -->
<!--     </plugins> -->
    
    <!-- 6.environments:用来配置环境们 -->
    <!-- 通过default属性指定使用哪一个环境 -->
    <environments default="development">
        <!-- 通过 environment标签配置一个一个的环境,如:开发环境、测试环境、生产环境,通过id属性制定一个唯一的标识符-->
        <environment id="development">
            <!-- 通过transactionManager标签配置事务管理器 ,最终要交给Spring来配置
                type属性的可选值:
                        JDBC:使用JDBC的策略
                        MANAGED:通过容器来管理事务的整个生命周期
                        自定义:只需要实现TransactionFactory接口
                        
            -->
            <transactionManager type="JDBC" />
            <!-- 通过dataSource标签配置数据源
                type属性的可选值:
                        UNPOOLED:不使用连接池
                        POOLED:使用连接池
                        JNDI:让容器去寻找数据源
                        自定义:只需要实现DataSourceFactory接口
             -->
            <dataSource type="POOLED">
            <!-- 
                property标签中读取value属性值得顺序:
                    1.首先读取properties子标签property标签中的value属性值
                    2.如果外部属性文件中的key与1中的property中的key一致将覆盖property标签中的value值
                    3.如果通过1和2都获取不到属性值,那么就以当前property标签中的value值作为最终连接数据库的值
             -->
                <property name="driver" value="${jdbc.driverClass}" />
                <property name="url" value="${jdbc.jdbcUrl}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
        
        <environment id="test">
            <transactionManager type=""></transactionManager>
            <dataSource type=""></dataSource>
        </environment>
    </environments>
    
    <!-- 7.databaseIdProvider:用来给各大数据库厂商设置别名
            type属性值为DB_VENDOR:会通过VendorDatabaseIdProvider实习类获取到各大数据库厂商的标识
     -->
    <databaseIdProvider type="DB_VENDOR">
        <!-- 
            name:指定数据库厂商的标识
            value:指定别名
         -->
        <property name="MySQL" value="mysql"/>
        <property name="Oracle" value="oracle"/>
        <property name="DB2" value="db2"/>
        <property name="SQL Server" value="sqlserver"/>
    </databaseIdProvider>

例子:

<mapper namespace="com.atgui.spring.mybatis.mapper.EmployeeMapper">
 <select id="getEmployeeById" resultType="com.atgui.spring.mybatis.entities.Employee">
    select * from employees where id = #{id}
  </select>
  <select id="getEmployeeById" resultType="com.atgui.spring.mybatis.entities.Employee" databaseId="mysql">
    select * from employees where id = #{id}
  </select>
  <select id="getEmployeeById" resultType="com.atgui.spring.mybatis.entities.Employee" databaseId="oracle">
    select * from employees where id = #{id}
  </select>
</mapper>
    
    <!-- 8.mappers:注册Mapper接口的映射文件 -->
    <mappers>
        <!-- 
        子标签mapper:设置一个一个的映射文件
            属性:
                resource:注册类路径下的映射文件
                url:注册网络上或者磁盘上的映射文件
                class:通过指定接口的全类名注册映射文件
                    -此时映射文件必须 与接口名保持一致并且要在同一个包下
                    -如果不想将映射文件放到同一个包下,可以通过在接口的方法上添加注解的方式写sql语句,如:@Select("select * from employees where id = #{id}")
        子标签package:通过指定包名注册映射文件
                    -此时映射文件必须 与接口名保持一致并且要在同一个包下            
         -->
        <mapper resource="EmployeeMapper.xml"/>
        <mapper resource="EmployeeMapper2.xml"/>
<!--         <mapper class="com.atguigu.mybatis.mapper.EmployeeMapper"/>     -->
<!--         <package name="com.atguigu.mybatis.mapper"/> -->
    </mappers>
</configuration>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值