MaBatis核心配置文件

简介: MaBatis核心配置文件

properties

  • 定义属性及读取属性文件

settings

  • 这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为


typeAliases

  • 类型别名是为 Java 类型设置一个短的名字

定义单个别名


批量别名定义

  • 如果当前包类与子包类重名,会有异常
  • 可以在类上使用注解 @Alias(“别名”)

typeHandlers

  • 无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成 Java 类型
  • JDK1.8 之后实现全部的 JSR310 规范
  • 日期时间处理上,我们可以使用 MyBatis 基于 JSR310(Date and Time API)
  • 编写的各种日期时间类型处理器
  • MyBatis3.4 以前的版本需要我们手动注册这些处理器,以后的版本都是自动注册的

Plugins

  • 插件是 MyBatis 提供的一个非常强大的机制,MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用,通过插件来修改 MyBatis 的一些核心行为

Environments

  • MyBatis 可以配置多种环境,比如开发、测试和生产环境需要有不同的配置
  • 每种环境使用一个 environment 标签进行配置并指定唯一标识符
  • 可以通过 environments 标签中的 default 属性指定一个环境的标识符来快速的切换环境

Environment子标签

transactionManager事务管理

Type 有以下取值

JDBC:使用 JDBC 的提交和回滚设置,依赖于从数据源得到的连接来管理事务范围。

MANAGED:不提交或回滚一个连接、让容器来管理事务的整个生命周期,ManagedTransactionFactory。

自定义:实现 TransactionFactory 接口,type = 全类名/别名。

dataSource数据源

type有以下取值

UNPOOLED:不使用连接池 UnpooledDataSourceFactory。

POOLED:使用连接池 PooledDataSourceFactory。

JNDI:在 EJB 或应用服务器这类容器中查找指定的数据源。

自定义:实现 DataSourceFactory 接口,定义数据源的获取方式。

实际开发

  • 实际开发中我们使用 Spring 管理数据源
  • 并进行事务控制的配置来覆盖上述配置

databaseIDProvider

MyBatis 可以根据不同的数据库厂商执行不同的语句。

可以能过 databaseIDProvider 标签来进行设置

<databaseIdProvider type="DB_VENDOR">
        <property name="MYSQL" value="mysql"/>
        <property name="DB2" value="db2"/>
        <property name="Oracle" value="oracle" />
        <property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>


mappers

<mapper resource=" ":使用相对于类路径的资源

<mapper class=" "/>:使用 mapper 接口类路径,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中


<package name=""/>:指定包下的所有 mapper 接口,此种方法要求 mapper 接口名称和 mapper 映射文件名称相同,且放在同一个目录中

相关文章
yum安装openJDK1.7
yum安装openJDK1.7
457 0
|
SQL 监控 关系型数据库
【巡检问题分析与最佳实践】RDS PostgreSQL 实例IO高问题
实例的磁盘IO负载是RDS PostgreSQL用户日常应重点关注的监控项之一,如果磁盘IO压力过大,很容易导致数据库性能问题。
【巡检问题分析与最佳实践】RDS PostgreSQL 实例IO高问题
|
弹性计算 网络安全 数据安全/隐私保护
三分钟在阿里云搭建自己的帕鲁服务器
《幻兽帕鲁》是Pocketpair投资10亿日元(约合人民币4842万元),耗费近4年时间开发的一款开放世界生存制作游戏,游戏于2023年11月2日至11月5日进行了封闭网络测试,于2024年1月18日发行抢先体验版本 。 游戏中,玩家可以在广阔的世界中收集神奇的生物“帕鲁”,派他们进行战斗、建造、做农活,工业生产等。 在帕鲁的世界,玩家可以选择与神奇的生物“帕鲁”一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。 帕鲁可以进行战斗、繁殖、协助玩家做农活,也可以为玩家在工厂工作。 玩家也可以将它们进行售卖,或肢解后食用。
706 10
三分钟在阿里云搭建自己的帕鲁服务器
|
机器学习/深度学习 存储 人工智能
转载:【AI系统】计算之比特位宽
本文详细介绍了深度学习中模型量化操作及其重要性,重点探讨了比特位宽的概念,包括整数和浮点数的表示方法。文章还分析了不同数据类型(如FP32、FP16、BF16、FP8等)在AI模型中的应用,特别是FP8数据类型在提升计算性能和降低内存占用方面的优势。最后,文章讨论了降低比特位宽对AI芯片性能的影响,强调了在不同应用场景中选择合适数据类型的重要性。
转载:【AI系统】计算之比特位宽
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
|
消息中间件 供应链 架构师
微服务如何实现低耦合高内聚?架构师都在用的技巧!
本文介绍了微服务的拆分方法,重点讲解了“高内聚”和“低耦合”两个核心设计原则。高内聚强调每个微服务应专注于单一职责,减少代码修改范围,提高系统稳定性。低耦合则通过接口和消息队列实现服务间的解耦,确保各服务独立运作,提升系统的灵活性和可维护性。通过领域建模和事件通知机制,可以有效实现微服务的高效拆分和管理。
479 7
|
Java 定位技术
Threejs路径规划案例V1
这篇文章详细介绍了使用Three.js进行三维路径规划的实现方法,包括设置三维场景、实现车辆避障以及展示规划路径等内容。
369 1
|
存储 关系型数据库 MySQL
MySQL 为什么使用 B+ 树作为索引结构?
MySQL 为什么使用 B+ 树作为索引结构?
482 2
|
Go C语言 Python
使用 Cython 包装外部的 C 代码
使用 Cython 包装外部的 C 代码
250 0
|
数据库 vr&ar
关系数据库——关系代数
关系数据库——关系代数
646 0

热门文章

最新文章