简体   繁体   English

使用jdbc在java中创建单例连接对象

[英]Singleton connection object creation in java using jdbc

I am trying to create a connection object using singleton design pattern.Is this the right way to do.我正在尝试使用单例设计模式创建一个连接对象。这是正确的做法吗? Please help me with the appropriate way of doing this.请帮助我以适当的方式执行此操作。

package com.cisco.installbase.hiveconnector;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;


public class CreateConnection {

        private static Connection connection = null;
        static final String drivername = "org.apache.hive.jdbc.HiveDriver";
        private static CreateConnection instance;

        private CreateConnection() {

            try{
                Class.forName(drivername);
                connection = DriverManager.getConnection("jdbc:hive2://hddev-c01-edge-01:50045/","phodisvc","B1GD4T4dev");
            }catch(ClassNotFoundException e){
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }

    }

        public static CreateConnection getInstance()
        {
            if(instance == null)
            {
                instance = new CreateConnection();
            }

            return instance;
        }
}

Take my example it works.以我的例子为例。 (Just replace the URL, username and password with yours) (只需将 URL、用户名和密码替换为您的)

public class DatabaseConnection {

public static Connection con = null;

public static void dbConnect(String drv, String url, String usr, String pwd) {

    // CHARGEMENT DU PILOTE
    try {
        Class.forName(drv);
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    // CONNEXION BDD
    try {
        con = DriverManager.getConnection(url, usr, pwd);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM