MyBatis~配置解析, 属性(properties)、设置(settings)、类型别名(typeAliases

本文详细介绍了MyBatis中的关键设置,包括类型别名的使用、环境配置(支持多环境和事务管理)、数据源配置以及mappers的映射器说明。此外,还提到了Java开发者的学习资源,包括全套学习资料和架构技术指南。
摘要由CSDN通过智能技术生成
  • 注意, 对应的名称一定要相同, 比如username就要对应username, 而且如果同时使用外部配置文件和property, 优先级是外部配置文件优先级更高

设置(settings)


  • 这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等。

在这里插入图片描述

类型别名(typeAliases)


  • 设置短的名字, 意义在于减少完全限定名, 代码更加整洁, 如果我们不设置别名, 那么我们在映射器文件中就必须使用全限定名, 如果我们设置了别名就可以使用我们的别名代替全限定名

在这里插入图片描述

在这里插入图片描述

  • 设置方式
  1. 在配置文件中DIY设置
  1. 给定包自动扫描设置, 这种默认生成的别名是首字母小写的全名称比如domain.blog.Author生成的就是author
  1. 通过注解DIY别名

@Alias(“author”)

public class Author {

}

在这里插入图片描述

环境配置(environments)


  • MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中

  • 不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境。

  • 如果你想连接两个数据库,就需要创建两个 SqlSessionFactory 实例,每个数据库对应一个。而如果是三个数据库,就需要三个实例

  • environments 使用default绑定哪个id就是时间哪个环境

注意一些关键点

默认使用的环境 ID(比如:default=“development”)。

每个 environment 元素定义的环境 ID(比如:id=“development”)。

事务管理器的配置(比如:type=“JDBC”)。

数据源的配置(比如:type=“POOLED”)。

事务管理器(transactionManager)
  • 事务管理器有俩种

  • JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域。

  • MANAGED – 这个配置几乎没做什么。它从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接。所以很少用它

  • 我们经常默认使用的就是JDBC

数据源(dataSource)
  • dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。

  • 有三种内建的数据源类型

  • UNPOOLED– 这个数据源的实现会每次请求时打开和关闭连接。虽然有点慢,但对那些数据库连接可用性要求不高的简单应用程序来说,是一个很好的选择。

  • POOLED– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。 这种处理方式很流行,能使并发 Web 应用快速响应请求。

  • JNDI – 这个数据源实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的数据源引用。

  • 我们经常默认使用的就是POOLED

映射器说明(mappers)


  • 使用mappers元素要绑定我们的映射器文件

  • 最常用的就是使用相对于类路径的资源引用, 使用这个很自由, 直接绑定映射器

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

小编精心为大家准备了一手资料

以上Java高级架构资料、源码、笔记、视频。Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术

【附】架构书籍

  1. BAT面试的20道高频数据库问题解析
  2. Java面试宝典
  3. Netty实战
  4. 算法

BATJ面试要点及Java架构师进阶资料

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
发等架构技术

【附】架构书籍

  1. BAT面试的20道高频数据库问题解析
  2. Java面试宝典
  3. Netty实战
  4. 算法

[外链图片转存中…(img-krKGh8O5-1713476670283)]

BATJ面试要点及Java架构师进阶资料

[外链图片转存中…(img-98EpIgcE-1713476670284)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值