利用mybatis generator实现数据库之间的表同步

本文介绍了如何利用Mybatis Generator实现不同数据库间的表同步。项目采用Java,借助Mybatis Generator自动生成SQL、DAO和Mapper,简化开发工作。通过对比两数据库中表的数据,实现插入或更新操作。同时提到了项目实施步骤,包括Mybatis Generator的安装配置,以及业务逻辑代码编写,强调了多数据源配置和反射机制在同步过程中的应用。

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

项目背景:

项目需要对两个服务器上的表进行同步,表的结构可能不一样。比如服务器A上的表i同步数据到服务器B上的表j,i和j的结构可能不一样,当然大部分字段是一样的。项目看起来很简单,网上一搜也是很多,什么利用Oracle的同步工具,利用mybatis拦截器拦截sql语句等等。不好意思,由于种种原因,我们项目都没有办法使用。我们最后讨论的方案就是最传统的暴力解决,一条一条插入或者更新,当然这有一个很重要的前提,就是我们的数据不多,最多也就是几万条,如果数据量很多,比如上千万的这种级别,这种方案估计就有待商榷了。

项目技术:

在我不知道有mybatis generator的时候,我想着,一张表恨不得几百个字段,我一个一个敲要敲到什么时候,而且很容易出错!是的,我曾经经历过这样的痛楚,如果后面表的字段要改的话,我去,代码很多地方也要改,可谓牵一发而动全身,程序出错的机率非常大。而且,sql语句写起来也很麻烦,insert、update、select等等,太多字段,太多条件,简直哭死。后来,我接触到mybatis generator,我终于明白,什么才叫框架!这才是真正的框架,大大简化了开发!这是我目前遇到的最好的一个框架,没有之一!我用这个来开发,完全不需要关注sql语句怎么写,实体类怎么写,只需要关注业务逻辑,真正的解耦!太NB了!

好了,说到这里,我们项目没有用到什么高深的技术,就是mybatis和mybatis generator,语言是Java,所有的业务逻辑代码不到500行。

项目实施:

1.建立maven项目

利用eclipse建立一个maven工程,无需选择webapp类型,就简单的工程就行了,在pom.xml中添加要依赖的项目:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.huifu</groupId>
  <artifactId>dataSynTest</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>dataSynTest</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <dependency>
        <groupId>org.mybatis.generator</groupId>
         <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.5</version>
    </dependency>
    
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.5</version>
    </dependency>
    
    <dependency>
        <groupId>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值