Mybatis主配置文件解析

先来看一下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>
    <environments default="development">
        <!-- 配置数据源  -->
        <environment id="development">

            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///pc"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 映射文件路径 -->
    <mappers>
        <mapper resource="org/example/dao/mapper.xml"/>
    </mappers>
</configuration>

一、properties属性

在使用 properties 标签配置时,我们可以采用两种方式指定属性配置

1)直接在主配置文件中定义数据库连接信息

<properties>
    <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
    <property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis"/>
    <property name="jdbc.username" value="root"/>
    <property name="jdbc.password" value="123445"/>
</properties>

2)引入外部配置文件

在 classpath 下定义jdbcConfig.properties文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=123

在主配置文件中引入

<!-- 配置连接数据库的信息
    resource 属性:用于指定 properties 配置文件的位置,要求配置文件必须在类路径下
    resource="jdbcConfig.properties"
    url 属性:
    URL: Uniform Resource Locator 统一资源定位符
    http://localhost:8080/mystroe/CategoryServlet URL
    协议 主机 端口 URI
    URI:Uniform Resource Identifier 统一资源标识符
    /mystroe/CategoryServlet
    它是可以在 web 应用中唯一定位一个资源的路径
-->
<!--配置properties-->
<properties resource="jdbcConfig.properties"></properties>

dataSource 标签就变成了引用上面的配置

<!-- 配置 mybatis 的环境 -->
<environments default="development">
    <!-- 配置 mysql 的环境 -->
    <environment id="development">
        <!-- 配置事务的类型 -->
        <transactionManager type="JDBC"/>
        <!-- 配置连接数据库的信息:用的是数据源(连接池) -->
        <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>

二、typeAliases别名

<typeAliases>
    <!-- 单个别名定义 -->
    <typeAlias alias="user" type="com.dianchou.domain.User"/>
    <!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
    <package name="com.dianchou.domain"/>
    <package name="其它包"/>
</typeAliases>

三、mappers映射器

<!-- 使用相对于类路径的资源引用    通过resource属性引入classpath路径的相对资源-->
<mappers>
  <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
  <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
  <mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>

<!-- 使用完全限定资源定位符(URL)   通过url引入网络资源或者本地磁盘资源-->
<mappers>
  <mapper url="file:///var/mappers/AuthorMapper.xml"/>
  <mapper url="file:///var/mappers/BlogMapper.xml"/>
  <mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
<!-- 使用映射器接口实现类的完全限定类名 
通过class属性指定mapper接口名称-->
<mappers>
  <mapper class="org.mybatis.builder.AuthorMapper"/>
  <mapper class="org.mybatis.builder.BlogMapper"/>
  <mapper class="org.mybatis.builder.PostMapper"/>
</mappers>

此时对应的映射文件必须与接口位于同一路径下,并且名称相同


<!-- 将包内的映射器接口实现全部注册为映射器
 package标签,通过name属性指定mapper接口所在的包名 
 -->
<mappers>
  <package name="org.mybatis.builder"/>
</mappers>

此时对应的映射文件必须与接口位于同一路径下,
并且名称相同
此时namespace的值为全限定类名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值