MyBatis学习笔记-配置解析

MyBatis学习笔记-配置解析

  • mybatis-config.xml

  • MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。

    properties(属性)
    settings(设置)
    typeAliases(类型别名)
    typeHandlers(类型处理器)
    objectFactory(对象工厂)
    plugins(插件)
    environments(环境配置)
    environment(环境变量)
    transactionManager(事务管理器)
    dataSource(数据源)
    databaseIdProvider(数据库厂商标识)
    mappers(映射器)
    

环境配置(Environments)

MyBatis 可以配置成适应多种环境

但是:不论配置多少个环境,每个SqlSessionFactory实例只能选择一种环境

事务管理器(transactionManager)

在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]"):

  • JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域。
  • MANAGED(了解) – 这个配置几乎没做什么。它从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接。然而一些容器并不希望连接被关闭,因此需要将 closeConnection 属性设置为 false 来阻止默认的关闭行为。
  • 注意:如果正在使用 Spring + MyBatis,则没有必要配置事务管理器,因为 Spring 模块会使用自带的管理器来覆盖前面的配置。

数据源(dataSource)

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

  • UNPOOLED– 这个数据源的实现会每次请求时打开和关闭连接。

  • POOLED– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。

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

…详见官网(https://mybatis.org/mybatis-3/zh/configuration.html#environments)

Mybatis默认的事务管理器就是JDBC,连接池:POOLED

属性(Properties)

我们可以通过properties属性来实现引用配置文件

<!--引入外部配置文件-->
<properties resource="db.properties"/>
<!--当然也可以自己添加属性-->
<properties resource="db.properties">
	<property name="username" value="root"/>
    <property name="password" value="159753"/>
</properties>
  • 可以直接引入外部文件
  • 可以在其中增加一些属性配置
  • 如果两个文件有同一字段,优先使用外部配置文件

类型别名(typeAliases)

  • 类型别名可为 Java 类型设置一个缩写名字。
  • 它仅用于 XML 配置,意在降低冗余的全限定类名书写。
<typeAliases>
    <typeAlias type="com.alb.pojo.User" alias="User"/>
</typeAliases>
  • 也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,这种情况下,默认别名为该类的类名,但首字母小写
<typeAliases>
    <package name="com.alb.pojo"/>
</typeAliases>

注意:扫描包的情况下可以通过注解去更改类的别名(@Alias("…"))

若实体类较少时,可以使用第一种方式

若实体类较多时,可以使用第二种方式

第一种可以自行设置别名,但第二种需通过注解设置

设置(settings)

在这里插入图片描述

在这里插入图片描述

映射器(mappers)

MapperRegistry: 注册绑定我们的Mapper文件

方式一:[推荐]

<mappers>
    <mapper resource="com/alb/dao/UserMapper.xml"></mapper>
</mappers>

方式二:使用class文件绑定注册

<mappers>
    <mapper class="com.alb.dao.UserMapper"/>
</mappers>

方式三:使用扫描包进行注册

<mappers>
    <package name="com.alb.dao"/>
</mappers>

方式二、三注意:

  • 接口和它的Mapper配置文件必须同名
  • 接口和它的Mapper配置文件必须在同一个包下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值