MyBatis(三) 全局配置文件

mybatis-config.xml

1.properties 属性:

   这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递,例如:

db.properties:


    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql:///mybatis
    jdbc.user=root
    jdbc.password=123456

在 mybatis-config.xml 文件中使用 properties 标签引用该属性文件:


    <!-- 
        mybatis 可以引入 properties 文件 :
            1.resource:引入类路径下的文件
            2.url:引入网络或磁盘文件
     -->
    <properties resource="db.properties"></properties>

然后其中的属性就可以在整个配置文件中被用来替换需要动态配置的属性值。比如:


    <dataSource type="POOLED">
        <property name="driver" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.user}" />
        <property name="password" value="${jdbc.password}" />
    </dataSource>

2.settings 设置:

3.typeAliases别名处理器

- 为某个 java 类型设置一个简单的别名,默认情况是类名小写,也可以用 alias 重新指定别名:

    <typeAliases>
        <typeAlias type="cn.edu.pzhu.cg.entities.Employee" alias="Employee"/> 
    </typeAliases>
- 类很多的情况下,可以批量设置别名这个包下的每一个类创建一个默认的别名,就是简单类名小写:

    <typeAliases>
       <package name="cn.edu.pzhu.cg.entities"/>
    </typeAliases>
- 如果多个包内有相同类名的类,可以使用注解 @Alias 为其指定新的别名:

    @Alias("emp")
    public class Employee{
        ...
    }

4.environments环境

  • MyBatis 可以配置多种环境,比如开发、测试和生产环境需要有不同的配置。
  • 每种环境使用一个 environment 标签进行配置并指定唯一标识符
  • 可以通过 environments 标签中的 default 属性指定一个环境的标识符来快速的切换环境

    <environments default="development_MySQL">
        <environment id="development_MySQL">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.user}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>

        <environment id="development_Oracle">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver" />
                <property name="url" value="jdbc:oracle:thin:@localhost:1521/test" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>

5.dataSource

6.databaseIdProvider环境




7.mapper映射

使用相对于类路径的资源引用:

    <mappers>
       <mapper resource="EmployeeMapper.xml" />
    </mappers>
使用完全限定资源定位符(URL:

    <mappers>
      <mapper url="file:///var/mappers/AuthorMapper.xml"/>
      <mapper url="file:///var/mappers/BlogMapper.xml"/>
      <mapper url="file:///var/mappers/PostMapper.xml"/>
    </mappers>
使用映射器接口实现类的完全限定类名:

    <mappers>
      <mapper class="org.mybatis.builder.AuthorMapper"/>
      <mapper class="org.mybatis.builder.BlogMapper"/>
      <mapper class="org.mybatis.builder.PostMapper"/>
    </mappers>
将包内的映射器接口实现全部注册为映射器
<mappers>
    <package name="cn.edu.pzhu.cg.dao"/>
</mappers>

注册接口:

class:引用(注册)接口

  1. 有 sql 映射文件,映射文件名必须和接口文件名一致,并放在同一目录下
  2. 没有 sql 映射文件,所有的 sql 都是利用注解写在接口上

推荐:

  1. 比较重要的、复杂的 Dao 接口用映射文件;
  2. 不重要、简单的 Dao 接口为了开发快速可以使用注解。

猜你喜欢

转载自blog.csdn.net/PZHU_CG_CSDN/article/details/80031862