Mybatis的XML配置

MyBatis 是一个持久层框架,通过 XML 配置文件来定义 SQL 映射和结果的映射规则。以下是关于 MyBatis XML 配置文件的详细说明:

  1. 基本结构

XML 配置文件通常包含 <mapper><resultMap><typeAliases> 等元素。
2. mapper

定义 SQL 映射,包括 SQL 语句、参数类型、返回值类型等。

* `<insert>`: 用于插入数据。  
* `<select>`: 用于查询数据。  
* `<update>`: 用于更新数据。  
* `<delete>`: 用于删除数据。

3. resultMap

定义结果集的映射规则,包括列名、属性名、类型等。
4. typeAliases

定义别名,用于简化 Java 类型名称。
5. 参数映射

通过 parameterType 属性来指定传入参数的类型。支持多种类型,如基本类型、JavaBean、Map、数组或集合等。
6. 结果映射

通过 resultType 属性来指定返回结果的类型。支持多种映射方式,如单个列到单一属性、单个列到多个属性、多个列到单个属性等。
7. 动态 SQL

MyBatis 支持动态 SQL,允许根据条件构建不同的 SQL 语句。例如使用 <if><choose><when><otherwise> 等标签来动态生成 SQL 语句。
8. XML 配置文件的位置

通常放在项目的资源文件夹下,例如 src/main/resources。文件名通常为 mybatis-config.xml,但可以根据项目需要自定义。
9. 其他属性

除了上述提到的属性外,还有其他一些常用属性,如 id(唯一标识符)、parameterMapsql 等。

10.命名空间 (namespace)

namespace 属性是用来区分不同的 mapper,其值通常是对应的接口的全限定名。在 XML 文件中,所有的 <select><insert><update><delete> 语句都会放在这个 namespace 下。
11. 别名 (typeAliases)

使用 typeAliases 标签可以为 Java 类型定义别名,简化 XML 文件中的类型名称。例如:

<typeAliases>  
    <typeAlias alias="User" type="com.example.model.User"/>  
</typeAliases>

在 XML 文件中,可以使用 User 作为 com.example.model.User 的别名。
12. 事务管理器 (transactionManager)

在 mybatis-config.xml 中,你可以配置事务管理器,指定事务管理器类型和数据源。例如:

<transactionManager type="JDBC"/>  
<dataSource type="POOLED">  
    <!-- 数据源配置 -->  
</dataSource>

13.环境配置 (environments)

使用 environments 标签来配置 MyBatis 的运行环境,例如:

<environments default="development">  
    <environment id="development">  
        <transactionManager type="JDBC"/>  
        <dataSource type="POOLED">  
            <!-- 数据源配置 -->  
        </dataSource>  
    </environment>  
</environments>

14.别名配置 (typeAliasesRegistry)

MyBatis 支持全局类型别名配置,可以通过 typeAliasesRegistry 标签来配置。这样,你就可以在整个 MyBatis 配置中使用定义的别名。例如:

<typeAliasesRegistry alias="MyTypeAlias" type="com.example.TypeAliasRegistry"/>

15.插件 (plugins)

MyBatis 允许你使用插件来扩展其功能。通过在 mybatis-config.xml 中配置插件,你可以在 MyBatis 的生命周期中插入自定义逻辑。例如:

<plugins>  
    <plugin interceptor="com.example.MyInterceptor">  
        <!-- 插件参数 -->  
    </plugin>  
</plugins>

16.XML 映射器 (mappers)
除了在 mybatis-config.xml 中定义映射器外,还可以通过在 classpath 下放置 XML 文件来定义映射器,然后在 mybatis-config.xml 中使用 <mappers> 标签引用这些文件。例如:

<mappers>  
    <mapper resource="com/example/mappers/ExampleMapper.xml"/>  
</mappers>

17. 注意事项

  • 当使用动态 SQL 时,要确保生成的 SQL 是有效的,避免 SQL 注入等安全问题。
  • 根据项目需求和数据库特性,合理使用 MyBatis 的各种功能和特性。
  • 在处理复杂的数据结构或关系时,使用 <association> 和 <collection> 等标签来处理一对一、一对多或多对多关系。

18.示例
给出了一个简单的 MyBatis XML 配置文件示例,包括插入、查询、更新和删除操作。通过这个示例,可以了解如何在 MyBatis 中定义基本的 CRUD 操作。

19.总结
XML 配置文件是 MyBatis 中的重要组成部分,通过合理地使用各种元素和属性,可以构建出高效、灵活的数据库访问层。建议根据实际项目需求仔细研究并合理使用 MyBatis 的各种功能和特性。

相关推荐

  1. MybatisXML配置

    2024-01-28 21:30:02       52 阅读
  2. mybatis-config.xml配置

    2024-01-28 21:30:02       46 阅读
  3. MyBatis-mapper.xml配置

    2024-01-28 21:30:02       65 阅读
  4. 介绍一下mybatis基本配置mybatis-config.xml

    2024-01-28 21:30:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-28 21:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-28 21:30:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-28 21:30:02       82 阅读
  4. Python语言-面向对象

    2024-01-28 21:30:02       91 阅读

热门阅读

  1. MyBatis --- 常用注解

    2024-01-28 21:30:02       54 阅读
  2. 前端-打卡每日面试题-数据类型(2024.1.26)

    2024-01-28 21:30:02       51 阅读
  3. 分巧克力(二分实现C++)

    2024-01-28 21:30:02       50 阅读
  4. 7-2 求二叉树的叶子结点个数

    2024-01-28 21:30:02       52 阅读
  5. 微服务面试题

    2024-01-28 21:30:02       59 阅读
  6. 言传身留:NLP技术引领机器翻译革新

    2024-01-28 21:30:02       41 阅读
  7. Python Appium组件使用详解

    2024-01-28 21:30:02       52 阅读
  8. 更新最近可以使用的 ip归属地免费api

    2024-01-28 21:30:02       54 阅读
  9. 软考 系统分析师系列知识点之范围管理(1)

    2024-01-28 21:30:02       55 阅读
  10. leetcode-移除链表元素

    2024-01-28 21:30:02       52 阅读
  11. leetcode-2846、560、239、76

    2024-01-28 21:30:02       54 阅读
  12. C 练习实例46-宏#define命令练习

    2024-01-28 21:30:02       57 阅读