SqlMapConfig.xml配置文件属性解析

SqlMapConfig.xml中配置的内容和顺序如下:

注:黑色表示主要的属性,并且在SqlMapConfig.xml配置文件中,这些属性配置存放的位置,必须按这个顺序存放
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)

  • environment(环境子属性对象)
    • transactionManager(事务管理)
    • dataSource(数据源)

mappers(映射器)

properties

用于引用外部java文件的配置信息,一般引用数据库连接的配置信息properties文件如下

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

引用外部配置文件

<!-- 是用resource属性加载外部配置文件 -->
    <properties resource="db.properties">
        <!-- 在properties内部用property定义属性 -->
        <!-- 如果外部配置文件有该属性,则内部定义属性被外部属性覆盖 -->
        <property name="jdbc.username" value="root123" />
        <property name="jdbc.password" value="root123" />
    </properties>

注意: MyBatis 将按照下面的顺序来加载属性:

  • 在 properties 元素体内定义的属性首先被读取。
  • 然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。 即如果在environment下的dataSource中已经配置了数据库连接信息,则会被properties 属性的内容覆盖
typeAliases

在SqlMapConfig.xml配置文件中使用了别名过后,在Mapper.xml配置文件中就不必为输入参数和输出结果写上全路径。可以简化开发代码

  • 单个别名定义
<typeAliases>
        <!-- 单个别名定义 -->
        <typeAlias alias="user" type="cn.itcast.mybatis.pojo.User" />
    </typeAliases>

在Mapper.xml配置文件中,resultType中直接可以填写类名即可
这里写图片描述

  • 批量别名定义
    通过扫描整个包下的类,所以包下的类,都可以使用别名
    <typeAliases>
        <!-- 批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感) -->
        <package name="cn.itcast.mybatis.pojo" />
    </typeAliases>
  • Mybatis自己包装好了8大基本数据类型的别名

注:typeAliases标签一定是写在properties标签下

mappers(映射器)
  • mapper resource
    使用相对于类路径的资源,如:mapper resource=”sqlmap/User.xml”
  • mapper class
    使用mapper接口类路径,如:
    mapper class=”cn.itcast.mybatis.mapper.UserMapper”
    注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
  • package name(推荐)
    package用于如果一个包下有许多mapper,则只需要使用该方式,可以将mapper配置文件全部映射到sqlMapConfig.xml文件中
    如:package name=”cn.itcast.mybatis.mapper”
    注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。

猜你喜欢

转载自blog.csdn.net/qq_42780864/article/details/81408679