MyBatis配置文件(mybatis-config.xml)

关于mybatis-3-config.dtd的配置:转载: https://blog.csdn.net/wangqing84411433/article/details/77878663

MyBatis配置文件分类两类:

1) 全局的配置文件:  mybatis-config.xml,  有序

  • properties(属性)  加载properties文件
  • settings(全局配置参数)  缓存
  • typeAliases(类型别名)    类型别名
  • typeHandlers(类型处理器)
  • objectFactory(对象工厂)
  • plugins(插件)    通用Mapper   分页插件
  • environments(环境集合属性对象)
  • environment(环境子属性对象)
  • transactionManager(事务管理)
  • dataSource(数据源)
  • mappers(映射器)

1、properties属性

//db.properties文件:
    driverClassName=oracle.jdbc.OracleDriver
    url=jdbc:oracle:thin:@localhost:1521:orcl
    user=scott
    password=tiger
//mybatis-config.xml 配置文件:
<!--加载properties配置文件  -->
<properties resource="db.properties"></properties>
。。。
<!-- 数据库连接池-->
<dataSource type="POOLED">
    <property name="driver" value="${driverClassName}" />
    <property name="url" value="${url}" />
    <property name="username" value="${user}" />
    <property name="password" value="${password}" />
</dataSource>

2、settings全局参数配置---------------

  mybatis框架在运行时可以调整一些运行参数。

  比如:开启二级缓存、开启延迟加载。。

3、typeAliases(类型别名)

 自定义别名:

一个类一个类的配置 :<typeAlias  type="com.mybatis.entity.User"  alias="User"/>

  type: 类的包.类         

  alias: 取得别名, 类名或者类名第一个字母小名的类名

给某个包下所有的类取别名 : <package name="com.mybatis.entity"/>推荐

  name: 包名

  这个包下类的别名: 类名或者是 类名第一个字母小名的类名

4、mappers(映射器)

  ① :<mapper resource=" " /> :使用相对于类路径的资源

如:<mapper resource="sqlmap/User.xml" />

  ②: <mapper url=" " />  : 使用完全限定路径

如:<mapper url="file:///D:workspace_spingmvcmybatis_01configsqlmapUser.xml" />

  ③: <mapper class=" " /> : 使用mapper接口类路径

如:<mapper class="cn.itcast.mybatis.mapper.UserMapper"/>

注意:class 的方式-- 要求xml必须与接口在同一个包下

  ④: <package name=""/> : 注册指定包下的所有mapper接口

如:<package name="org.csmf.mybatis.dao"/>

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个包下。

使用情况:按实际需求,如果实体类较多,建议使用package,

代码:

<?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>
    <!--加载properties配置文件  -->
    <properties resource="db.properties"></properties>  ***
    
    <!-- jdbcType对应属性的值为null,处理方式 
           默认值: OTHER, 如果属性为null, 报错
               NULL: 如果属性为null, 给数据库对应的列赋值为null
        -->
    <settings>
        <setting name="jdbcTypeForNull" value="NULL"/> ***
    </settings>
    
    <!--给自定义的类  取别名 -->
    <typeAliases>
     <!-- 一个类一个类的配置 
            type: 类的包.类
            alias: 取得别名,  类名或者类名第一个字母小名的类名
       -->
        <!-- <typeAlias type="com.mybatis.entity.User" alias="User"/> -->
        
        <!-- 给某个包下所有的类取别名
           name: 包名
           
           这个包下类的别名: 类名或者是 类名第一个字母小名的类名
            User/user
         -->
         <package name="com.mybatis.entity"/>  ***
    </typeAliases>
    
    <!-- 和spring整合后 environments配置将废除-->
    <environments default="oracle">
        <!-- 可以配置多个environment -->
        <environment id="oracle">
            <!-- 使用jdbc事务管理-->
            <transactionManager type="JDBC" />
            <!-- 数据库连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="${driverClassName}" />
                <property name="url" value="${url}" />
                <property name="username" value="${user}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>
    <!-- 加载映射文件 :包名/mapper名.xml -->
     <mappers>
      <!-- mapper resource="mapper/UserMapper.xml" /> -->
        <!--要求xml文件与接口在同一个包下  -->
       <!--  <mapper class="mybatis02.mapper.UserMapper"/> --> 
        <!-- url: sql映射文件可以来源于网络 -->
       <!--  <mapper url=""/> -->
       <package name="org.csmf.mybatis.dao"/> ***
       <!-- 一次性加载某个包所有的sql映射文件,要求,sql映射文件与接口必须位于同一个包 -->
        <mapper resource= "mapper/UserMapper.xml"/> ***
        <mapper resource= "mapper/OrderMapper.xml"/>
     </mappers>
</configuration>
  



原文地址:https://www.cnblogs.com/64Byte/p/13027276.html