溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

使用jsch連接數(shù)據(jù)庫(kù)

發(fā)布時(shí)間:2020-06-29 22:50:38 來(lái)源:網(wǎng)絡(luò) 閱讀:1453 作者:塞上名豬 欄目:數(shù)據(jù)庫(kù)

通過(guò)java的jsch連接遠(yuǎn)程數(shù)據(jù)庫(kù)

有時(shí)候我們本地代碼可能無(wú)法連接數(shù)據(jù)庫(kù),因?yàn)閿?shù)據(jù)庫(kù)增加了白名單,指定ip的服務(wù)器才可以連接到數(shù)據(jù)庫(kù),不過(guò)我們可以通過(guò)連接該指定ip的服務(wù)器,然后通過(guò)該服務(wù)器連接數(shù)據(jù)庫(kù),就像很多數(shù)據(jù)庫(kù)可視化軟件一樣。通過(guò)使用jsch,我們也可以在代碼層面實(shí)現(xiàn)這個(gè)功能。話(huà)不多說(shuō),直接開(kāi)碼:

        JSch jsch = new JSch();
        Session sess;
        //這里xxx.xxx.xxx.xxx為已加白名單的遠(yuǎn)程服務(wù)器
        sess = jsch.getSession("ubuntu", "xxx.xxx.xxx.xxx", 22);
        sess.setPassword("*******");
        sess.setConfig("StrictHostKeyChecking", "no");
        sess.connect();
        //這里xxx.xxx.xxx.xxx為數(shù)據(jù)庫(kù)連接地址
        //通過(guò)這個(gè)set方法可以將遠(yuǎn)程的3306端口指定為本地的3308端口,因?yàn)楣P者本地3306已使用,故指定為3308端口
        sess.setPortForwardingL(3308,"xxx.xxx.xxx.xxx",3306);
        try {
            //讀取配置文件,需要注意的是,這里的配置文件中數(shù)據(jù)庫(kù)地址為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的標(biāo)識(shí)字符串
        List ll=session.selectList(statement);
        System.out.println(ll);
        session.commit();
        session.close();
        sess.disconnect();

當(dāng)然,使用jsch實(shí)現(xiàn)ssh連接不僅僅限于實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接,還可以對(duì)ssh連接上的服務(wù)器進(jìn)行操作,比如執(zhí)行shell等相關(guān)命令,后續(xù)再做記錄吧

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI