Mybatis多环境数据源配置方式之environment标签

本文介绍如何通过Mybatis的environment标签动态配置数据源,以便在不同环境中灵活切换数据库连接设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在部署项目的时候每次修改相关配置文件都比较麻烦,虽然项目基本信息配置已经可以由环境的不同而动态读取,但Mybatis一直不能,每次打war包的时候都需要修改相关密码。目前可以使用Mybatis的environment标签根据环境动态引入指定的dataSource,这样项目部署能更方便。
实现步聚如下:

修改Mybatis配置文件

  <environments default="development">
    <!-- 本地开发环境 -->
    <environment id="development">
      <transactionManager type="JDBC">
          <property name="" value=""/>
      </transactionManager>
      <dataSource type="UNPOOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/rfunbook?useUnicode=true&amp;characterEncoding=UTF-8"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
     </dataSource>
    </environment>

    <!-- 正式环境 -->
    <environment id="product">
      <transactionManager type="JDBC">
          <property name="" value=""/>
      </transactionManager>
      <dataSource type="UNPOOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/rfunbook?useUnicode=true&amp;characterEncoding=UTF-8"/>
         <property name="username" value="root"/>
        <property name="111111" value="rfunbook@admin"/>
     </dataSource>
    </environment>
  </environments>

修改创建SqlSessionFactory方法

public class DBMybatisUtil {

    private final static SqlSessionFactory sqlSessionFactory;  

    private static String resourcePath = "com/common/config/Configuration.xml";

    static{  
        Reader reader = null;  
        try {  
            reader = Resources.getResourceAsReader(DBMybatisUtil.resourcePath);  
        } catch (IOException e) {  
            System.out.println(e.getMessage());  
        }  
        String environment = Common.getDevelopmentEnvironment();
        environment = environment.equals("dev") || environment.equals("") ? "development" : environment;
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader, environment);  
    }  

    public static SqlSessionFactory getSqlsessionfactory() {  
        return sqlSessionFactory;  
    } 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值