Mybatis中核心配置文件详解

核心配置文件:

* configuration内的内容以及配置位置
    -properties (属性)
        --property
    -settings(全局配置参数)
        --setting
    -typeAliases (类型别名)
        --typeAliase
        --package
    -typeHandlers(类型处理器)
    -objectFactory(对象工厂)
    -plugins(插件)
    -environments(环境集合属性对象)
        --environment(环境子属性对象)
            ---transactionManager(事务管理)
            ---dataSource(数据源)
    -mappers (映射器)
        --mapper
        --package


* properties(属性)
    在使用 properties 标签配置时,我们可以采用两种方式指定属性配置。
    1. 在properties中直接定义property标签
       <properties>
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
       </properties>
    2. 引入文件
        如jdbcConfig.properties(放在resources文件夹下)
        jdbc.driver=com.mysql.jdbc.Driver
        jdbc.url=jdbc:mysql://localhost:3306/mybatis
        jdbc.username=root(最好不要直接写username,读取时可能会与系统的名字混淆)
        jdbc.password=root
        有两种方式引入:
            1. resource="jdbcConfig.properties"
            2. url=file:///D:/IdeaProjects/MybatisTest/src/main/resources/jdbcConfig.properties
    3. 使用properties文件
         dataSource 标签就变成了引用上面的配置
            <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>
* typeAliases 自定义别名:
    在 SqlMapConfig.xml 中配置:
    <typeAliases>
    <!-- 单个别名定义 -->
    <typeAlias alias="user" type="com.itheima.domain.User"/>
    <!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
    <package name="com.itheima.domain"/>
    <package name=" 其它包 "/>
    </typeAliases>            


* 具体部分的详解
0. 约束头部:
    <?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">
1. 数据库连接信息:
    <!--配置环境-->
    <environments default="mysql">//这里的mysql是代表默认加载的环境id,可以配置多个环境来切换
        <!--配置mysql的环境-->
        <environment id="mysql">//id表示对一个环境的唯一标识
            <!--配置事务的类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的四个基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

2. 加载:
    <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
    <mappers>
        <mapper resource="com/qin/dao/IUserDao.xml"/>
    </mappers>

    * 主配置文件加载映射文件的方式有以下几种:
      <mapper resources=”com/itheima/dao/IUserDao.xml”>加载配置文件
      <mapper class=”com.itheima.dao.IUserDao”>加载的类(当使用注解开发的时候)
      <mapper url=”file:配置文件的物理路径”>加载文件的URL地址file:///
      <package name=”com.itheima.dao”>要求配置文件和接口保持同一目录;也可以用于注解



<typeAliases>中的package可以配置要配置别名的包,当指定了之后,该包下面的实体类都会注册别名
    并且类名就是别名,不再区分大小写.
<mappers>中的package标签适用于指定dao接口所在的包,当指定了之后就不再需要写mapper
    以及resource和class了
     * 当写package 的时候,xml映射文件的位置必须放置的与类的包层次相同.不然会找不到

* 注意:在别名的时候,要注意不要多个package下有相同类名的类如domain/user  domain2/user(此时会冲突)

猜你喜欢

转载自blog.csdn.net/qq_35472880/article/details/83245549