If I use a singleton class for a database connection, can one user close the connection for everybody?

前端 未结 5 490
广开言路
广开言路 2020-12-13 10:43

I wrote a singleton class for obtaining a database connection.

Now my question is this: assume that there are 100 users accessing the application. If one user closes

5条回答
  •  轮回少年
    2020-12-13 11:20

    Below code is a working and tested Singleton Pattern for Java.

    public class Database {
    
        private static Database dbIsntance;
        private static Connection con ;
        private static Statement stmt;
    
    
        private Database() {
          // private constructor //
        }
    
        public static Database getInstance(){
        if(dbIsntance==null){
            dbIsntance= new Database();
        }
        return dbIsntance;
        }
    
        public  Connection getConnection(){
    
            if(con==null){
                try {
                    String host = "jdbc:derby://localhost:1527/yourdatabasename";
                    String username = "yourusername";
                    String password = "yourpassword";
                    con = DriverManager.getConnection( host, username, password );
                } catch (SQLException ex) {
                    Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
    
            return con;
        }
    

    While getting Connection in any Class simply use below line

    Connection con = Database.getInstance().getConnection();
    

    Hope it may help :)

提交回复
热议问题