请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 463|回复: 0

mybatis配置04

[复制链接]

32

主题

32

帖子

114

积分

版主

Rank: 7Rank: 7Rank: 7

积分
114
发表于 2022-4-24 13:09:20 | 显示全部楼层 |阅读模式
在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射
这个是什么意思了,就是说我们生产中有些数据是使用MySQL作为数据存储设备,但是某些数据是使用Oracle作为数据存储设备
那这个时候,应用程序在获取不同的数据就要使用不同的数据库存储,故我们可以用环境配置解决,如:
<environments default="mysql">
    <!-- 开发环境:开发服务器环境 -->
    <environment id="mysql">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password:root}" />
        <!-- 如果属性 'password' 没有被配置,'password' 属性的值将为 'root' -->
      </dataSource>
    </environment>
    <!-- 线上环境:线上的服务器环境 -->
    <environment id="oracle">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="password" value="" />
        <property name="driver" value="${prod.driver}" />
        <property name="url" value="${prod.url}" />
        <property name="username" value="${prod.username}" />
        <property name="password" value="${prod.password}" />
      </dataSource>
    </environment>
  </environments>
默认我们的配置使用的是mysql数据库,如果我们某些数据存储需要用oracle数据库,则可以通过下面的方式设置
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, "oracle");
此时的factory就是针对oracle的sqlSession工厂的,操作的就是oracle数据库了
2.7.3.环境配置的解释
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2022-11-28 19:50 , Processed in 0.043066 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表