mybatis全局配置文件

一、properties标签

  1. 作用:mybatis可以使用properties来引入外部properties配置文件的内容

  2. 属性:

    • resource:引入类路径下的资源
    • url:引入网络或磁盘路径下的资源

二、settings标签

  1. 作用用来设置每一个设置项。包含很多setting

  2. setting属性

    • name:设置参数
    • value:设置项取值
设置参数描述有效值默认值
cacheEnabled该配置影响所有映射器中配置的缓存的全局开关(二级缓存)true|falsetrue
lazyLoadingEnabled延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态true|falsefalse
useColumn使用列标签代替列名。不同驱动在这方面会有不同的表现。true|falsetrue
defaultStatementTimeout设置超时时间,它决定驱动等待数据库响应的秒数任何正的整型数据null
mapUnderscoreToCamelCase是否开启自动驼峰命名规则映射。即从经典数据库列名A_COLUMN到经典java属性名aColumn的关系映射true|falsefalse

三、typeAliases

  1. 作用: 别名处理器,可以为我们的java类型起别名。其下有typeAlias标签和package标签。别名不区分大小写。
  2. typeAlias标签
    • type:指定要起别名的类的全类名;默认就是类型小写。
    • alias:指定新的别名
  3. package标签为某个包下的所有类批量起别名。
    • name:指定包名(为当前包及下面的子包中的每一个类都起一个默认别名)
    • 注:在批量起别名的情况下,如果类型重复,可以使用@Alias注解可以指定新的别名

四、typeHandlers标签

作用:将java中的数据类型与数据库的数据类型进行转换。

五、plugins标签

  1. 作用:使用插件可以拦截方法

  2. 插件如:

    • Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)
    • ParameterHandler(getParameterObject,setParameters)
    • ResultSetHandler(handleResultSets,handleOutputParameters)
    • StatementHandler(prepare,parameterize,batch,update,query)

六、environments标签

  1. default属性:指定使用某种环境。可以快速切换
  2. 内部配置多种环境,使用environment标签
  3. environment标签
    • 作用:配置一个具体的环境信息。内部必须有transactionManager和DataSource标签。
    • id属性:代表当前环境的唯一标识,与environments的default搭配使用
    • transactionManager(事务管理器)标签:
      • type属性:事务管理器的类型;JDBC(JdbcTransactionFactory)|MANAGED(ManagedTransactionFactory)。
      • 可以自定义事务管理器,实现TransactionFactory接口,type指定为全类名dateSource(数据源)标签:type:数据源类型;UNPOOLED | POOLED | JNDI。自定义数据源,实现DataSourceFactory接口,type为全类名

七、databaseIdProvider标签

支持多数据库厂商

type="DB_VENDOR":VendorDatabaseIdProvider

作用:得到数据库厂商的标识,mybatis就能根据数据库厂商标识来执行不同的sql。

<databaseIdProvider>
    <!--为不同的数据库厂商起别名-->
    <property name="Mysql" value="mysql" />
    <property name="Oracle" value="oracle" /></databaseIdProvider>

在映射文件的select标签中可以使用databaseId属性指定数据库别名,这样在指定的数据库环境下才会执行。

八、mappers标签

将sql映射注册到全局配置中。
mapper:注册一个sql映射

  1. 注册配置文件

    • resource:引入类路径下的sql映射文件
    • url:引入网络路径或者磁盘路径下的sql映射文件
  2. 注册接口

    • class:引入接口
    • 1.有sql的映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下
    • 2.没有映射文件,所有的sql都是利用注解写在接口上
  3. 推荐:比较重要的,复杂的Dao接口来写sql映射文件;不重要,简单的,可以使用注解。

  4. package:批量注册。接口和映射文件在同一包下。