zoukankan      html  css  js  c++  java
  • java同时连接db2和mysql的程序

    db2的jar包安装参见:http://www.cnblogs.com/zifeiy/p/7918554.html

    代码:

    package com.anbank.datafetch;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import com.ibm.db2.jcc.DB2Driver;
    
    public class DataFetch {
    	private static String APPENDED_DB_INFO 
    		= "?useUnicode=true&characterEncoding=UTF8" 
    				+ "&rewriteBatchedStatements=true" 
    				+ "&useLegacyDatetimeCode=false" 
    				+ "&serverTimezone=Asia/Shanghai"
    				+ "&useSSL=false";
    	// DB2
    	private String db2ClassName		= "com.ibm.db2.jcc.DB2Driver";
        private String db2Url			= "jdbc:db2://localhost:50000/zi";
        private String db2User			= "db2admin";
        private String db2Password		= "password";
        Connection db2Connection 		= null;
        // MySQL
        private String mysqlClassName	= "com.mysql.jdbc.Driver";
        private String mysqlUrl 		= "jdbc:mysql://localhost:3306/zi" + APPENDED_DB_INFO;
        private String mysqlUser 		= "root";
        private String mysqlPassword	= "password";
        Connection mysqlConnection		= null;
        
        public void fetchFromDb2ToMySQL() {
        	try {
                // DB2
            	Class.forName(db2ClassName);
            	db2Connection = DriverManager.getConnection(db2Url, db2User, db2Password);
            	Statement db2Statement = db2Connection.createStatement();
            	// MySQL
            	Class.forName(mysqlClassName);
            	mysqlConnection = DriverManager.getConnection(mysqlUrl, mysqlUser, mysqlPassword);
            	Statement mysqlStatement = mysqlConnection.createStatement();
            	
            	ResultSet db2ResultSet = db2Statement.executeQuery("SELECT * FROM sysibm.systables");
            	while (db2ResultSet.next()) {
            		int rowId = db2ResultSet.getRow();
            		String tablename = db2ResultSet.getString(1);
            		String mysqlSql = String.format("INSERT INTO test VALUE(%d,'%s')", rowId, tablename);
            		mysqlStatement.addBatch(mysqlSql);
            	}
            	mysqlStatement.executeBatch();
            	
                
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }finally{
                if (db2Connection != null && mysqlConnection != null) {
                	System.out.println("success");
                } else {
                	System.out.println("fail");
                }
            }
        }
        
        public static void main(String[] args) {
        	DataFetch dataFetch = new DataFetch();
        	dataFetch.fetchFromDb2ToMySQL();
        }
    }
    
    
  • 相关阅读:
    table首行固定
    JavaScript获取当前日期,昨天,今天日期以及任意天数间隔日期
    Struts2二级菜单联动
    Servlet和Struts2同时使用
    最近的感想
    java.lang.NoClassDefFoundError: javax/el/ELResolver 问题解决
    Event Loop、函数式编程、IO多路复用、事件驱动、响应式、
    Git 的使用(一)
    Linux 硬链接与软链接 目录结构
    并发、并行、同步、异步相关感念
  • 原文地址:https://www.cnblogs.com/zifeiy/p/7918788.html
Copyright © 2011-2022 走看看