MyBaits全局配置文件的各项标签2

▲typeHandlers

    类型处理器,它架起数据库和JavaBean一一映射的桥梁,这里需要注意一下,java在JDK1.8之前,日期处理函数并不丰富,但在JDK1.8之后引入JSR-310标准,这些处理在mybatis 1版本是没有的,需要自己手动引入= =当然现在也不用担心这个,因为我们不大可能会用这个版本的Mybatis。(Mybatis3.4之后)

▲plugins

    这个也是Mybatis的强大之处,这个我会放到后面的章节,在对Mybatis有详细认识之后,进行详细介绍。

    Mybatis可以拦截到对数据库的处理对象,这也是我们在JDBC学习阶段认识的几个对象,那么如何拦截呢?这里就用到了插件。我们可以在这些方法执行之前,拦截,添加一些新方法,和AOP的概念如出一辙。

执行器:Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)

参数处理器:ParameterHandler (getParameterObject, setParameters)

结果集处理器:ResultSetHandler (handleResultSets, handleOutputParameters)

SQL语句处理器:StatementHandler (prepare, parameterize, batch, update, query)

▲environments

    配置多种环境,这标签里面套着<environment>,而<environment>里,必需包含着<transationManager>和<dataSource>,<environment>里有个id属性,我们可以通过这个,给项目配置其他环境,比如可以提供一套测试环境,而在<enviroments>中的defualt属性,将默认环境设置为开发环境,测试人员在拿到项目时,只要改这个default属性即可。

<transactionManager type=""/>它有两种值,JDBC或者MANAGED,
 后者使用JEE Application Server context的方式作为容器,当然这些事务配置,我们今后会有Spring来操作,所以这里了解一下即可,

 

dataSource数据源   type:UNPOOLED|POOLED|JNDI   第一个是不采用任何一种方式,每次都去操作都链接一次数据库,第二种采用连接池

 

databaseIdProvider
    Mybatis可以根据不同的厂商,执行不同的sql语句,现在我们有新的需求,可以查询MYSQL的Employee也可以查询Oracle的Employee,

 

<databaseIdProvider type="DB_VENDOR" />
type="DB_VENDOR"(别名)得到数据库产商的标识,我们可以为不同的产商起不同的别名,我们在全局变量里添加一下代码
  1. <databaseIdProvider type="DB_VENDOR">  
  2.     <property name="MYSQL" value="mysql"/>  
  3.     <property name="Oracle" value="oracle"/>  
  4. </databaseIdProvider> 
接着再mapper.xml里指定每句sql语句的数据库即可
 
原文地址:https://www.cnblogs.com/figsprite/p/10731015.html