Mybatis sqlMapConfig.xml中的mappers标签使用

 更新时间:2022年01月10日 10:38:00   作者:LovKee  
这篇文章主要介绍了Mybatis sqlMapConfig.xml中的mappers标签使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。

sqlMapConfig.xml中的mappers标签

mappers(映射配置)

1.1:通过resource加载单个映射文件

< !– 加载映射文件 –>
< mappers>
< !–通过resource方法一次加载一个映射文件 –>
< mapper resource=”sqlmap/User.xml”/>
< mapper resource=”mapper/UserMapper.xml”/>
< /mappers>

1.2:通过mapper接口加载单个映射文件

通过mapper接口加载单个映射配置文件

遵循一定的规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中;

上边规范的前提是:使用的是mapper代理方法

< mapper class=”com.mybatis.mapper.UserMapper”/>

按照上边的规范,将 mapper.java 和 mapper.xml 放在一个目录 ,且同名。

1.3:批量加载mapper(推荐使用)

批量加载映射配置文件,mybatis自动扫描包下面的mapper接口进行加载

遵循一定的规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中;

上边规范的前提是:使用的是mapper代理方法

< package name=”com.mybatis.mapper”/>

sqlmapconfig核心标签说明以及配置

对于MyBatis最核心的全局配置文件是 sqlmapConfig.xml 文件,其中包含了数据库的连接配置信息、Mapper 映射文件的加载路径、全局参数、类型别名等。

配置项详解

标签名称标签作用
configuration包裹所有配置标签,是整个配置文件的顶级标签。
properties属性,该标签可以引入外部配置的属性,也可以自己配置。该配置标签所在的同一个配置文件中的其他配置均可引用此配置中的属性。
setting全局配置参数,用来配置一些改变运行时行为的信息,例如是否使用缓存机制,是否使用延迟加载,是否使用错误处理机制等。并且可以设置最大并发请求数量、最大并发事务数量,以及是否启用命令空间等。
typeAliases类型别名,用来设置一些别名来代替 Java 的长类型声明,如 java.lang.int 变为 int,减少配置编码的冗余。
typeHandlers类型处理器,将 sql 中返回的数据库类型转换为相应 Java 类型的处理器配置。
objectFactory对象工厂,实例化目标类的工厂类配置。
plugins插件,可以通过插件修改 MyBatis 的核心行为,例如对语句执行的某一点进行拦截调用。
environments环境集合属性对象,数据库环境信息的集合。在一个配置文件中,可以有多种数据库环境集合,这样使 MyBatis 将 sql 同时映射至多个数据库。
environment环境子属性对象,数据库环境配置的详细配置。
transactionManager事务管理,指定 MyBatis 的事务管理器。
dataSource数据源,使其中的 type 指定数据源的连接类型,在标签对中可以使用 property 属性指定数据库连接池的其他信息。
mappers映射器,配置 sql 映射文件的位置,告知 MyBatis 去哪里加载 sql 映射配置。

配置示例

<?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> 
    <!-- 1.properties属性引入外部配置文件 -->
    <properties resource="org/mybatis/example/config.properties">
        <!-- property里面的属性全局均可使用 -->
        <property name="username" value="admin"/>
        <property name="password" value="admin"/>
    </properties>
    <!-- 2.全局配置参数 -->
    <settings>
       <!-- 设置是否启用缓存 -->
       <setting name="cacheEnabled" value="true"/>
       <!-- 设置是否启用懒加载 -->
        <setting name="lazyLoadingEnabled" value="true"/>   
    </settings>
    <!-- 3.别名设置 -->
    <typeAliases>
        <typeAlias alias="student" type="cn.com.mybatis.Student"/>
        <typeAlias alias="teacher" type="cn.com.mybatis.Teacher"/>
        <typeAlias alias="integer" type="java.lang.Integer"/>
    </typeAliases>
    <!-- 4.类型转换器 -->
    <typeHandlers>
        <!-- 一个简单类型转换器 -->
        <typeHandler handler="org.mybatis.example.ExampleTypeHandler"/>
    </typeHandlers>
    <!-- 5.对象工厂 -->
    <objectFactory type="org.mybatis.example.ExampleObjectFactory">
        <!-- 对象工厂注入的参数 -->
        <property name="someProperty" value="100"/>
    </objectFactory>
    <!-- 6.插件 -->
    <plugins>
        <plugin interceptor="org.mybatis.example.ExamplePlugin">
            <property name="someProperty" value="100"/>
        </plugin>
    </plugins>
    <!-- 7.environments数据库环境配置 -->
    <!-- 和Spring整合后environments配置将被废除 -->
    <environments default="development">  
        <environment id="development"> 
            <!-- 使用JDBC事务管理 -->
            <transactionManager type="JDBC" />  
            <!-- 数据库连接池 -->
          <!-- 配置文件加载  这段代码可以在spring-config.xml配置 -->
      <!-- <bean id="configProperties"
          class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath:db.properties</value>
            </list>
        </property>
      </bean>  -->
            <dataSource type="POOLED">  
                <property name="driver" value="${db.driver}"/>  
                <property name="url" value="${db.url}"/>  
                <property name="username" value="$db.{username}"/>  
                <property name="password" value="${db.password}"/>  
            </dataSource>  
        </environment>  
    </environments>
    <!-- 加载映射文件 也可以将映射文件统一配置,这样就不用每个单独配置-->
    <mappers>  
        <mapper resource="sqlmap/UserMapper.xml"/>
        <mapper resource="sqlmap/OtherMapper.xml"/>
    </mappers>  
</configuration>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java设计模式之桥接模式

    Java设计模式之桥接模式

    这篇文章介绍了Java设计模式之桥接模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Java中String和StringBuffer及StringBuilder 有什么区别

    Java中String和StringBuffer及StringBuilder 有什么区别

    这篇文章主要介绍了Java中String和StringBuffer及StringBuilder 有什么区别,String 是 Java 语言非常基础和重要的类,更多相关内容需要的小伙伴可以参考下面文章内容
    2022-06-06
  • spring-cloud入门之eureka-server(服务发现)

    spring-cloud入门之eureka-server(服务发现)

    本篇文章主要介绍了spring-cloud入门之eureka-server(服务发现),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Spring配置多数据源切换

    Spring配置多数据源切换

    今天小编就为大家分享一篇关于Spring配置多数据源切换,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Spring @Configuration和@Component的区别

    Spring @Configuration和@Component的区别

    今天小编就为大家分享一篇关于Spring @Configuration和@Component的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Mybatis 返回值类型和参数传递的配置方法

    Mybatis 返回值类型和参数传递的配置方法

    在 MyBatis 中,返回值类型和参数传递是 Mapper 接口中至关重要的两个方面,正确理解和使用它们可以帮助我们高效、准确地进行数据库操作,接下来通过本文给大家介绍Mybatis 返回值类型和参数传递的配置方法,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • 基于idea Maven中的redis配置使用详解

    基于idea Maven中的redis配置使用详解

    这篇文章主要介绍了基于idea Maven中的redis配置使用,包括一些配置文件需要的内容,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • 浅谈java中字符串数组、字符串、整形之间的转换

    浅谈java中字符串数组、字符串、整形之间的转换

    这篇文章主要介绍了浅谈java中字符串数组、字符串、整形之间的转换,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java中的fail-fast机制使用详解

    Java中的fail-fast机制使用详解

    fail-fast机制是Java集合中用于检测并发修改的一种机制,当一个线程遍历集合时,如果集合被其他线程修改,就会抛出ConcurrentModificationException异常,解决fail-fast机制的方法包括使用普通for循环、Iterator
    2025-01-01
  • SpringBoot集成消息队列的项目实践

    SpringBoot集成消息队列的项目实践

    本文主要介绍了SpringBoot集成消息队列的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02

最新评论