jdbc+mysql+ssh隧道

来源:互联网 发布:韩国人吃不起肉 知乎 编辑:程序博客网 时间:2024/04/30 05:41
package com.woqu.supplier.util.ImportUtil;

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import com.woqu.supplier.dto.SelfItemDto;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class JdbcConnect {
    public static final String url = "jdbc:mysql://localhost:33102/table";
    public static final String name = "com.mysql.jdbc.Driver";
    public static final String user = "username";
    public static final String password = "password";

    public static int lport = 33102;//本地端口(随便取)
    public static String rhost = "localhost";//远程MySQL服务器
    public static int rport = 3306;//远程MySQL服务端口

    public static Connection getConnect() {
        connectSession();
        Connection conn = null;
        try {
            Class.forName(name);
            conn = DriverManager.getConnection(url,user, password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }

    public static void connectSession() {
        String user = "ssh_name";//SSH连接用户名
        String password = "ssh_password#";//SSH连接密码
        String host = "103.121.121.12";//SSH服务器
        int port = 125421;//SSH访问端口
        try {
            JSch jsch = new JSch();
            Session session = jsch.getSession(user, host, port);
            session.setPassword(password);
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect();
            System.out.println(session.getServerVersion());//这里打印SSH服务器版本信息
            int assinged_port = session.setPortForwardingL(lport, rhost, rport);
            System.out.println("localhost:" + assinged_port + " -> " + rhost + ":" + rport);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String arg[]) throws Exception{
        Connection conn= getConnect();
        Statement statement = conn.createStatement();//准备执行语句
        ResultSet rs= statement.executeQuery("select * from table where ");
        int i=0;
        int insertNum=0;
        while (rs.next()) {
            SelfItemDto dto=new SelfItemDto();
            int activitycode= rs.getInt("activitycode");
            String activityname=rs.getString("activityname");
            String activityname_en=rs.getString("activityname_en");
            String desc_en=rs.getString("desc_en");
            String desc_cn=rs.getString("desc_cn");
            String adminnote=rs.getString("adminnote");
            int local_pay=rs.getInt("local_pay");
            System.out.println("insert into " + activitycode+"  inserTotal="+insertNum+" total="+i);
        }
    }


}

原创粉丝点击