使用jsch连接数据库
admin
2023-05-27 02:21:09
0

通过java的jsch连接远程数据库

有时候我们本地代码可能无法连接数据库,因为数据库增加了白名单,指定ip的服务器才可以连接到数据库,不过我们可以通过连接该指定ip的服务器,然后通过该服务器连接数据库,就像很多数据库可视化软件一样。通过使用jsch,我们也可以在代码层面实现这个功能。话不多说,直接开码:

        JSch jsch = new JSch();
        Session sess;
        //这里xxx.xxx.xxx.xxx为已加白名单的远程服务器
        sess = jsch.getSession("ubuntu", "xxx.xxx.xxx.xxx", 22);
        sess.setPassword("*******");
        sess.setConfig("StrictHostKeyChecking", "no");
        sess.connect();
        //这里xxx.xxx.xxx.xxx为数据库连接地址
        //通过这个set方法可以将远程的3306端口指定为本地的3308端口,因为笔者本地3306已使用,故指定为3308端口
        sess.setPortForwardingL(3308,"xxx.xxx.xxx.xxx",3306);
        try {
            //读取配置文件,需要注意的是,这里的配置文件中数据库地址为localhost,端口为刚刚指定的3308
            reader = Resources.getResourceAsReader("conf.xml");
        } catch (IOException e) {
            e.printStackTrace();
        }
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        SqlSession session = sqlSessionFactory.openSession();
        String statement = "com.saishangmingzhu.getData";//映射sql的标识字符串
        List ll=session.selectList(statement);
        System.out.println(ll);
        session.commit();
        session.close();
        sess.disconnect();

当然,使用jsch实现ssh连接不仅仅限于实现数据库的连接,还可以对ssh连接上的服务器进行操作,比如执行shell等相关命令,后续再做记录吧

相关内容

热门资讯

2026年交易全链路可追溯的智... 2026-08-05 12:10:48 作者:狼叫兽 2026年被视作智能体支付规模化落地的关键之年...
百余名中外专家齐聚海西 共话人... 8月4日,人工智能赋能的天文学开放科学会议(第二届)在青海省海西州盛大启幕。来自中国、美国、英国、法...
“私自评大师的机构”,也被撤了 曾经披着“大师”外衣四处走穴的人,正在纷纷退场。2026年以来,多个行业协会宣布撤销此前授予的“大师...
2026南昌家用呼吸机坏了去哪... 家用无创呼吸机属于精密二类医疗器械,长期昼夜连续运行,随着使用时间推移,有可能出现报警、噪音变大、无...
演习首日发生意外事故:台空军一... 【环球网报道 记者 徐思琦】据中时新闻网、中天新闻网等台媒8月5日报道,台军所谓“汉光42号演习”首...
奥运冠军陆春龙挂职担任苏州大学... 澎湃新闻记者 岳怀让近日,苏州大学体育学院官网“现任领导”栏目更新信息显示,陆春龙已经挂职担任苏州大...
我国科研人员研发亚10毫秒级神... 来源:环球网 【环球网科技综合报道】8月5日消息,据《科学》(Science)报道称,近日,中国科学...
出生相隔55分钟被抱错,女子错... 面对被医院错换的37年人生,李慧(化名)选择用最朴素的方式,为自己和两个家庭讨一个说法:她把半生艰辛...
Transformer上限触顶... Transformer 的上限在哪里?这个问题从 2022 年 ChatGPT 问世起,就开始被广泛...
华为余承东:手机之后可能都要大... IT之家 8 月 5 日消息,在今天(8 月 5 日)的尊界时代旗舰 MPV 及华为全场景新品发布会...