Spring项目去O,替换Oracle为Mysql

本篇文章根据我曾经的一个去O项目,分享系统去O的一些经验。

一、去O准备工作

1.1 整理Oracle表,建立对应的MySQL表,主要有2点,一是分析表数据量,MySQL表性能能否承受住,二是处理MySQL表与Oracle表的字段差异,比如Oracle表金额一般用number字段,对应到MySQL表需要转换为decimal(m,d),小数位数需要根据表中数据分析。

1.2 梳理系统模块,如果系统规模较大,模块较多,建议采用分批次去O,因此需要梳理出能够在同一批次去O的模块。去O主要是对mapper.xml文件替换,因此同一批次去O的maper.xml文件应该同属一个功能模块,不受其他功能影响,也不影响其他功能。

二、数据同步

MySQL表建立好之后,Oracle表需要做数据同步,将数据实时同步至MySQL表。

三、系统改造

3.1 添加MySQL DataSource。

<bean id="mysqlDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test?serverTimezone=UTC"/>
        <property name="user" value=""/>
        <property name="password" value=""/>
    </bean>

3.2 建立分批次去O的mapper接口包,用于存放本批次去O的mapper文件。例如:com.test.mapper.mysql1,将本次改造的mapper接口移动到改目录下。因为mapper接口路径改变了,因此系统中注入这些mapper接口的地方路径也需要调整。

3.3 建立分批次去O的xml包,用于存放本批次去O的mapper.xml文件。例如:com.test.mapper.mysql1,根据Oracle的xml文件创建对应的MySQL xml文件。Oracle原xml文件不需要删除。

3.4 spring配置文件改造

3.4.1 配置MySQL xml文件的SqlSessionFactory

<bean id="mysql1SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="mysqlDataSource" />
  <property name="mapperLocations" value="classpath*:com/test/mapper/mysql1/*.xml" />
</bean>

3.4.2 配置mybatis mapper扫描,这样mybatis在扫描mapper接口的时候就会将本次去O的mapper与配置的MySQL xml文件关联起来,系统执行mapper接口的时候,就会执行到新建立的MySQL xml语句。

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  <property name="sqlSessionFactory" ref="mysql1SqlSessionFactory"/>  
  <property name="basePackage" value="com.test.mapper.mysql1"/>  
</bean>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值