a

import java.io.*;
import java.sql.*;
import java.util.Properties;

class SUREDatabase
{
 private Connection con;
 private Statement stmt; 
 
 private int m_clientType;
   
 public final static int CLIENT_MYSQL  = 1;
 public final static int CLIENT_ORACLE  = 2;
 
 public SUREDatabase ()
 {
  con    = null;
  stmt   = null; 
  m_clientType = 0x00;
 }

 public boolean close ()
 {
  try
  {
   if ( stmt != null )
    stmt.close ();

   if ( con != null )
    con.close ();
   return true;
  }
  catch (SQLException e)
  {
   e.printStackTrace ();
   return false;
  }
 }

 public int clientType ()
 {
//  System.out.println("Database Client Type = " + m_clientType);
  return m_clientType;
 }

 public boolean connect ( String _host, String _dbName, String _user, String _password, int _clientType )
 {
   m_clientType = _clientType;
   boolean status = false;
   //      System.out.println("client Type when create databases = "+ m_clientType);

   switch ( _clientType )
   {
     case CLIENT_MYSQL:
       status = connectMysql (_host, _dbName, _user, _password);
     case CLIENT_ORACLE:
       status = connectOracle (_host, _dbName, _user, _password);
   }
   return status;
 }
 
 public boolean connect (String _host, String _dbName, String _user, String _password, int _clientType, String _subhost, String subid, String subpass, int _subclientType)
 {
  m_clientType = _clientType;
  boolean status = false;
//  System.out.println("client Type when create databases = "+ m_clientType);
  
  switch ( _clientType )
  {
   case CLIENT_MYSQL:
    status = connectMysql (_host, _dbName, _user, _password);
    if(status == true)
      return status;
    switch( _subclientType )
    {
     case CLIENT_MYSQL:
      return connectMysql (_subhost, _dbName, _user, _password);
     case CLIENT_ORACLE:
      return connectOracle (_subhost, _dbName, _user, _password);
    }
   case CLIENT_ORACLE:
    status = connectOracle (_host, _dbName, _user, _password);
    if(status == true)
      return status;
    switch( _subclientType )
    {
      case CLIENT_MYSQL:
       return connectMysql (_subhost, _dbName, _user, _password);
      case CLIENT_ORACLE :
       return connectOracle (_subhost, _dbName, _user, _password);
    }
  }
  
  return false;
 }
 
 private boolean connectOracle (String _host, String _dbName, String _user, String _password)
 { 
  try
  {
   Class.forName ("oracle.jdbc.driver.OracleDriver");
  }
  catch (ClassNotFoundException e)
  {
   e.printStackTrace ();
   return false;
  }
  
  String url = "jdbc:oracle:thin:@" + _host + ":1521:" + _dbName;
  
  Properties props = new Properties ();
  
  props.put ("user", _user);  
  props.put ("password", _password);
  
  try
  {
//   System.out.println("url = " + url);
//   System.out.println("props = " + props);
   con = DriverManager.getConnection (url, props);  // connection
   stmt = con.createStatement (); 
   
   return true;  
  }
  catch (SQLException e)
  {
   e.printStackTrace ();
  }
  
  return false;
 }
 
 private boolean connectMysql (String _host, String _dbName, String _user, String _password)
 {
  try
  {
   Class.forName ("com.mysql.jdbc.Driver");
  }
  catch (ClassNotFoundException e)
  {
   e.printStackTrace ();
   System.out.println(e.getMessage());
   return false;
  }
  try
  {
   String dbString = "jdbc:mysql://" + _host + ":3306/" + _dbName + "?useUnicode=true&characterEncoding=EUC_KR";
      
   con = DriverManager.getConnection (dbString, _user, _password);

   stmt = con.createStatement ();
   
   return true;
  }
  catch (SQLException e)
  {
   e.printStackTrace();
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  
  return false;
 }
 
 private int execute (String _sql)
    {
  try
  {
   int rowNum = stmt.executeUpdate (_sql);
   return rowNum;
  }
  catch(SQLException e)
  {
   e.printStackTrace ();
   System.out.println("update failed."+e);
  }
  
  return 0x00;
 }
 
 public int update (String _sql)
 {
  return execute (_sql);
 }
 
 public int insert (String _sql)
 {
  return execute (_sql);
 }
 
 public int delete (String _sql)
 {
  return execute (_sql);
 } 
 
 public ResultSet select (String _sql)
 {
  try
        {
//   System.out.println ("DUREDatabase::select () : SQL = " + _sql);
            ResultSet rs = stmt.executeQuery (_sql);
            return rs;
        }
  catch (SQLException e)
  {
   e.printStackTrace ();
  }  
  
  return null;  
 }
}
 


1 2 3 4 5 6 7 8 9 10 다음