一、简介
mybatis是一个半自动映射框架。需要手工匹配提供pojo、sql和隐射关系,而hibernate只需要提供pojo和映射关系便可。
mybatis的前身是ibatis,10年从Apache software foundation迁移到Google code时改名为mybatis。13年迁移到到github。
Hibernate适用于场景不太负责,要求性能不太严苛的环境。
二、入门
mybatis的解析程序会将配置文件的信息解析到Configuration类对象里面,然后利用SQLSessionFactoryBuilder读取这个对象为我们创建SqlSessionFactory。
在mybatis中保留着ibatis,通过“命名空间+Sql id”的方式发送SQL并返回数据的形式,而不需要获取映射器。
Role role=slqSession.selectOne("",);
三、
3.7 environment配置环境
配置环境可以注册多个数据源,每一个数据源分为两大部分:一个是数据库源的配置,另外一个是数据库事务的配置。
- environments中default,标明在缺省的情况下,我们将启用哪个数据源配置。
- environment 元素是配置一个数据源的开始,属性Id是设置这个数据源的标志,以便mybatis上下文中使用它。
- transactionManager配置的是数据库事务,其中type属性有三种配置方式:
(1)jdbc,采用jdbc方式管理事务,在独立编码中我们常常使用。
(2)managed,采用容器方式管理事务,在jndi数据源中常用。
3.7.1 数据源
mybatis内部为我们提供了3种数据源的实现方式:
- unpooled,非连接池,使用Mybatis提供的UnPooledDataSource实现
- pooled 连接池,使用Mybatis提供的PooledDataSource实现。
- JNDI 使用Mybatis提供的JndiDataSourceFactory来获取数据源。
但是有时候,我们需要使用其他的数据源。如果使用自定义数据源,必须实现org.apache.ibatis.datasource.DataSourceFaxtory接口。
网友评论