总览

# properties 标签

mybatis 可以使用 properties 来引入外部 properties 配置文件的内容
如:
resource
url


# settings 标签

settings 包含了很多重要的设置项

# typeAliases 标签 + 内置别名

<mark>推荐不起别名:使用全类名</mark>
别名处理器,可以为我们的java类型起别名

<mark>别名不区分大小写</mark>(MySQL的原因)

<mark>默认别名</mark> :

  • typeAlias:为某个 java 类型起别名
    type:指定要起别名的类型<mark>全类名</mark>;<mark>默认别名就是类名小写:employee</mark>
    alias:指定新的别名

  • package:为某个包下所有类批量起别名
    name:指定包名(为当前包以及下面<mark>所有的后代包</mark>的每一个类都起一个别名(类名小写<mark>mysql原因,不区分大小写</mark>))

  • @Alias
    批量起别名的情况下,使用 @Alias 注解为某个类型指定新的别名

# typeHandlers 标签

需要理解 mybatis 原理


JDK1.8后,添加了JSR310


# plugins 标签

需要理解 mybatis 原理 (后面讲)

  • Executor
  • ParameterHandler
  • ResultSetHandler 结果集处理器
  • StatementHandler

# environments 标签

环境配置
mybatis 可以配置多种环境

environments:环境梦,mybatis可以配置多种环境,default指定使用某种环境,可以达到快速切换环境
environment:配置一个具体的环境信息,必须有两个标签,id代表当前环境的唯一表示

  • transactionManager:<mark>事务</mark>管理器
    • type:事务管理器的类型;JDBC|MANAGED ⇐ <mark>其实都是别名</mark>
      JDBC ⇒ JdbcTransactionFactory
      MANAGED ⇒ ManagedTransactionFactory
      或者自定义:实现 TransactionFactory 接口 , type 指定为全类名

  • dataSource 数据源
    type:数据源类型
    • UNPOOLED (UnpooledDataSourceFactory) 不使用连接池
    • POOLED(PooledDataSourceFactory)使用连接池 <mark>默认使用</mark>
    • JNDI (JndiDataSourceFactory
    • 自定义:实现 DataSourceFactory type 是全类名

# databaseIdProvider




一致性
支持多数据库厂商的
同样,别名在 configuration 类中查找

type="DB_VENDOR" , VendorDatabaseIdProvider
作用就是得到数据库厂商的表示(驱动),
mybatis就能根据数据库厂商表示来执行不同的sql;

实际调用的方法?
java Connection 类 有 getMetaData() 方法,得到 metaData

里面的 getDataBAseProductName 方法 可以获取数据库厂商的名

# mappers

将 sql 映射注册到全局配置中

注册配置文件

  • resource :引用类路径下的 sql 映射文件
    如:mybatis/mapper/EmployeeMapper.xml
  • url:引用网络路径或者磁盘路径下的sql映射文件
    如:file:///var/mappers/AutorMapper.xml

引用(注册)接口

  • class:
    <mark>注意:</mark>
    1、如果有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下【<mark>推荐</mark>】


    2、 如果没有sql映射文件,所有的sql都是利用注解写在接口上


    3、批量注册

# 其他标签

  • 如:objectFactory
  • 等。。。
  • 通常 不怎么改/ 用

插曲

dtd