MyBatis 配置2
来源:互联网 发布:linux下zip 编辑:程序博客网 时间:2024/06/11 09:34
1-ObjectFactory(对象工厂)
说明:当创建结果集时,MyBatis会使用要给对象工厂来完成创建这个结果集实例。在默认情况下,MyBatis会使用其定义的对象工厂:DefaultObjectFactory(org.apache.ibatis.reflection.factory.DefaultObjectFactory)来完成对应的工作。MyBatis允许注册自定义的ObjectFactory。如果自定义就要实现接口org.apache.ibatis.reflection.factory.ObjectFactory,并给予配置。在更多情况下,都会考虑继承系统已经实现好的DefaultObjectFactory,通过一定的改写来完成我们所需要的工作。
插件
略
2-environments (运行环境)
在MyBatis中,运行环境主要的作用是配置数据库的信息,它可以配置多个数据库,一般一个就够了。它下面又分事务管理器(transactionManager)和数据源(dataSource)。
在大部分情况下会采用Spring对数据源和数据库的事务经行管理。
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${database.driver}"/> <property name="url" value="${database.url}"/> <property name="username" value="${database.username}"/> <property name="password" value="${database.password}"/> </dataSource> </environment> </environments>
2.1-transactionManager(事务管理器)
在MyBatis中提供了两个实现类,jdbcTransaction和ManagedTransaction。同时他们要实现接口Transaction(org.apache.ibatis.transaction.Transaction),
这个接口主要有提交(commit) 回滚(rollback),关闭(close) 等方法。
事务管理器配置如下:
<transactionManager type="JDBC"></transactionManager> <transactionManager type="MANAGED"></transactionManager>
JDBC:使用JdbcTransactionFactory生成的JdbcTransaction对象实现。它是以JDBC的方式对数据库的提交和回滚进行操作。MANAGED:使用ManagedTransctionFactory生成的ManagedTransaction对象实现。它的提交和回滚方法不用任何操作,而是把事务交给容器处理。
2.2-environment 数据源环境
它的主要作用是配置数据库环境,在MyBatis中,数据库通过PooledDataSourceFactory,UnpooledDataSourceFactory和JndiDataSourceFactory三个工厂类来提供,
前两者会产生PooledDataSource,UnpooledDataSource类对象,而JndiDataSourceFactory则根据JNDI的信息拿到外部容器的数据库连接对象。无论如何这三个工厂类,
最后生成的产品都会是一个实现了DataSource接口的数据库连接对象。
<dataSource type="POOLED"> <dataSource type="POOLED"> <dataSource type="JNDI">
UNPOOLED:采用非数据库池的管理方式,每次请求都会打开一个新的数据库连接,所以创建会比较慢。对性能没有要求的场景中可以使用它。 注意属性前缀为“driver.”,例如: driver.encoding=UTF8。POOLED:利用"池"的概念将JDBC的Connection对象组织起来,它开始会有一些空置,并且已经连接好的数据库连接,所以请求时,无需再建立和验证,省去了创建新的数据实例时所必需的初始化和认证时间。它还控制最大的连接数,避免过多的链接导致系统瓶颈。JNDI:它的实现是为了能在如EJB或服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个JNDI上下文的引用。这种数据源的配置只需要两个属性:(1)initial_context:用来在InitialContext中寻找上下文。它是个可选属性,如果忽略,那么data_source属性将会直接从InitialContext中寻找。(2)data_source:是引用数据源实例位置上下文的路径。当提供initial_context配置时,data_source会在其返回的上下文中进行查找;当没有提供initial_context时,data_source直接在InitialContext中查找。与其他数据源配置类似,它可以通过添加前缀“env.”直接把属性传递给初始化上下文。例如:env.encoding=UTF8。MyBatis也支持第三方的数据源,例如DBCP数据源,常用的阿里巴巴的数据源等等。
3-databaseIdProvider 数据库厂商标识
databaseIdProvider元素主要是支持不同厂商的数据库,虽然这个元素不常用但是有些系统需要切换数据库时就会用到。
<databaseIdProvider type="DB_VENDOR"> <property name="Oracle" value="oracle"/> <property name="MySQL" value="mysql"/> <property name="DB2" value="db2"/></databaseIdProvider>
在MyBatis的sql的XML文件中只要在sql中配置 databaseId=”mysql” 即可。
- MyBatis (2)配置
- MyBatis 配置2
- 【2】SpringBoot的MyBatis配置
- mybatis配置
- mybatis 配置
- mybatis配置
- mybatis配置
- mybatis----配置
- Mybatis配置
- mybatis配置
- mybatis配置
- mybatis配置
- mybatis配置
- mybatis 配置
- mybatis配置
- myBatis配置
- myBatis配置
- mybatis配置
- 简约而不简单的Django新手图文教程
- java-nio之zero copy深入分析
- gradle buildTypes
- REST和RESTFUL的相关概念理解
- datagrid怎么使用
- MyBatis 配置2
- ReentrantLock的公平锁和非公平锁
- 数据结构之链表的增删改查逆置及传统链表与非传统链表
- Third week of machine learning on Coursera
- re+lxml+requests基础知识
- 设计模式
- spring装配Bean
- Elasticsearch(一)安装
- NYOJ 94 cigarettes