Mybatis可以配置成适应多种环境,这种机制有助于将SQL映射应用于多种数据库之中,显示情况下有多重理由需要这么做。例如:开发,测试和生产环境需要不同的配置;或者共享相同的Schema的多个上产数据库,想使用相同的sql映射。
但是要注意:每个 SqlSessionFactory 实例只能选择其一。即每有一个数据库连接,就要创建一个SqlSessionFactory实例。
可以接受环境配置的两个方法签名:
SqlSessionFactory factory = new SqlSessionFactoryBuilder.build(reader, environment);
SqlSessionFactory factory = new SqlSessionFactoryBuilder.build(reader,environment,properties);
若忽略了环境参数,那么默认环境将会被加载,即:
SqlSessionFactory factory = new SqlSessionFactoryBuilder.build(reader);
SqlSessionFactory factory = new SqlSessionFactoryBuilder.build(reader,properties);
以项目代码为例
<environments default="">
<environment id="development">
<!-- 配置JDBC事务管理 -->
<transactionManager type="JDBC"></t