본문 바로가기
MySql

MySQL c3p0 풀링을 사용하여 데이터베이스 mysql 연결

by 베이스 공부 2021. 2. 8.
반응형
ComboPooledDataSource cpds = new ComboPooledDataSource(); 
cpds.setDriverClass( "com.mysql.jdbc.Driver" ); //loads the jdbc driver 

cpds.setJdbcUrl( "jdbc:mysql://localhost:3306/dragon" ); 
cpds.setUser("root"); 
cpds.setPassword("password");
cpds.setMaxPoolSize(50);

ComboPooledDataSource 개체를 구성하기 위해 다음 코드가 포함 된 Java 파일을 만들었습니다. 이제이 코드가 데이터베이스와 풀링 된 연결을 설정하기에 충분합니까?

그렇지 않은 경우 어떻게해야합니까?

또한 여기에서 JNDI를 어떻게 구현할 수 있는지 알려주십시오.

나는 초보자이기 때문에 설명해주세요.

 

해결 방법

 

처음에 ... 다음과 같은 정적 메서드 또는 변수를 포함하는 클래스에서 연결을 시작하는 코드를 만듭니다.

        private static ComboPooledDataSource cpds = new ComboPooledDataSource();
        public static void MakePool()
        {
               try 
               {
                 cpds=new ComboPooledDataSource();
                 cpds.setDriverClass("com.mysql.jdbc.Driver");
                 cpds.setJdbcUrl("jdbc:mysql://localhost:3306/att_db");
                 cpds.setUser("root");
                 cpds.setPassword("dragon");
                 cpds.setMaxPoolSize(MaxPoolSize);
                 cpds.setMinPoolSize(MinPoolSize);
                 cpds.setAcquireIncrement(Accomodation);
             } 
             catch (PropertyVetoException ex) 
             {
                 //handle exception...not important.....
              }

}
public static Connection getConnection()
{
           return cpds.getConnection();
}

완료되면 서버 작업을위한 다른 클래스를 만듭니다 ....

그리고 수영장에서 연결을 얻으십시오 ...

         try{

               con=DatabasePool.getConnection();
               // DatabasePool is the name of the Class made earlier....
               .
               .
               .
               .  // Server operations as u wanted.....
               .
               .
             }
             catch(SQL EXCEPTION HERE)
             {
                  .....
             }
             finally
             {     
               if(con!=null)
               {
                      con.close();      
               }
             }

 

참조 페이지 https://stackoverflow.com/questions/10999996

 

 

반응형

댓글