java实现同步sqlserver中的表数据到mysql的方案
2023年6月26日发(作者:)
java实现同步sqlserver中的表数据到mysql的⽅案场景项⽬框架情况: SpringMVC + MybatisPlus + 需求: 从sqlserver数据库中同步产品和产品类别两个表的数据。
思路1、利⽤ java⾃带的tion 与sqlserver数据库建⽴连接。2、通过Apache的dbutils⼯具类QueryRunner( unner)来获取sqlserver中的对应数据。3、分析转化上述数据⾄我们需要的数据。4、通过本地项⽬中的mysql数据源(或者步骤1中同样的⽅式),与msyql建⽴连接。5、批量插⼊、更新mysql中的数据。
代码1、数据源连接⼯具类DbConnUtilpackage ;import ceUtil;import tion;import Manager;public class DbConnUtil { private static String sqlserverDriverClassName = figByName("verDriverClassName"); private static String sqlserverDbUrl = figByName("verDbUrl"); private static String sqlserverDbUser = figByName("verDbUser"); private static String sqlserverDbPwd = figByName("verDbPwd"); /** * 从这⾥取数据 * * @return */ public static Connection createConnSrc() { Connection conn = null; try { e(sqlserverDriverClassName).newInstance(); conn = nection(sqlserverDbUrl, sqlserverDbUser, sqlserverDbPwd); } catch (Exception e) { tackTrace(); } return conn; } /** * 存⼊的⽬标数据库 * * @return */ public static Connection createConnDist() { Connection conn = null; try { String driverClassName = ""; String dbUrl = "jdbc:mysql://192.168.1.110:3306/haoyuan?useUnicode=true&characterEncoding=UTF-8"; String dbUser = "root"; String dbPwd = "1234567890"; e(driverClassName).newInstance(); conn = nection(dbUrl, dbUser, dbPwd); } catch (Exception e) { tackTrace(); } return conn; } public static void close(Connection conn) { try { (); } catch (Exception e) { tackTrace(); } }}2、Apache dbutils QueryRunner数据操作⼯具类的封装类DbBuilder
package tabase;import Util;import unner;import ndler;import stHandler;import dler;import tHandler;import tion;import ;import ;public class DbBuilder { Connection connection = null; public DbBuilder(Connection conn) { tion = conn; } public QueryRunner getQueryRunner() { public QueryRunner getQueryRunner() { return new QueryRunner(); } /** * 根据传⼊的sql,查询记录,以Map形式返回第⼀⾏记录 注意:如果有多⾏记录,只会返回第⼀⾏,所以使⽤场景需要注意,可以使⽤根据主键来查询的场景 * * @param sql * @param params * @return */ public Map getFirstRowMap(String sql, params) { try { QueryRunner runner = new QueryRunner(); return (connection, sql, new MapHandler(), params); } catch (Exception ex) { tackTrace(); } return null; } /** * 根据传⼊的sql查询数据,以List Map形式返回 * * @param sql * @param params * @return */ public List
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687753281a39508.html
评论列表(0条)