博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis~配置解析, 属性(properties)、设置(settings)、类型别名(typeAliases)、环境配置(environments)、映射器(mappers)
阅读量:4051 次
发布时间:2019-05-25

本文共 2255 字,大约阅读时间需要 7 分钟。

文章目录

  • MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。
  • 在配置文件中, 一定要保证配置信息的顺序, 不然就会报错, 如下图
    在这里插入图片描述

属性(properties)

  • 在MyBatis配置文件中,你可以使用properties标签在外部引入配置信息, 也可以在标签内通过property标签设置配置信息
  1. 新建config.properties文件写入配置信息, 然后使用properties标签获取配置信息
    在这里插入图片描述
    在这里插入图片描述
  2. 使用propetry标签设置配置信息
  • 设置好的属性可以在整个配置文件中用来替换需要动态配置的属性值。
  • 注意, 对应的名称一定要相同, 比如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元素要绑定我们的映射器文件
  • 最常用的就是使用相对于类路径的资源引用, 使用这个很自由, 直接绑定映射器
  • 使用映射器接口实现类的完全限定类名, 使用这个必须保映射器.xml文件和接口实体类在同一个目录下而且必须是同名的

在这里插入图片描述

  • 将包内的映射器文件实现全部注册进来成为映射器, 使用这个要求和上述一样必须保映射器.xml文件和接口实体类在同一个目录下而且必须是同名的

转载地址:http://hjsci.baihongyu.com/

你可能感兴趣的文章
ZUUL2 使用场景
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
elastic-job 和springboot 集成干货
查看>>
php开发微服务注册到eureka中(使用sidecar)
查看>>
mybatis mybatis plus mybatis jpa hibernate spring data jpa比较
查看>>
也许是世界上最简单最灵活的JAVA CRUD开发方法
查看>>
支付宝生活号服务号 用户信息获取 oauth2 登录对接 springboot java
查看>>
提交jar包到maven中央仓库2019最新版本
查看>>
eclipse servers view tomcat内存配置
查看>>
HandlerExceptionResolver 踩坑记录
查看>>
CodeForces #196(Div. 2) 337D Book of Evil (树形dp)
查看>>
uva 12260 - Free Goodies (dp,贪心 | 好题)
查看>>
uva-1427 Parade (单调队列优化dp)
查看>>
poj 1155 TELE (树形背包dp)
查看>>
【设计模式】学习笔记13:组合模式(Composite)
查看>>
hdu 1011 Starship Troopers (树形背包dp)
查看>>
hdu 1561 The more, The Better (树形背包dp)
查看>>
【设计模式】学习笔记14:状态模式(State)
查看>>
poj 1947 Rebuilding Roads (树形背包dp)
查看>>
【设计模式】学习笔记15:代理模式(Proxy Pattern)
查看>>