/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package DataAccessLayer; import DataAccessLayer.Base.IDataStorage; import Settings.CSettingManager; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import javax.sql.DataSource; /** * * @author SHOUBI */ public class CMySQLDataStore implements IDataStorage { Connection objConn; DataSource ds; /** * Uses JDBC connection pooling to initialise data source */ public CMySQLDataStore(String Sname, int Pnumber) { MysqlDataSource objDs = new MysqlDataSource(); objDs.setServerName(Sname); objDs.setPortNumber(Pnumber); objDs.setUser(CSettingManager.getSetting("DB_User")); objDs.setPassword(CSettingManager.getSetting("DB_Pwd")); objDs.setDatabaseName(CSettingManager.getSetting("DB_Database")); ds = objDs; } @Override public void openConnection() { try { objConn = ds.getConnection(); } catch (SQLException ex) { ex.printStackTrace(); } } @Override public ResultSet executeQuery(String pStrQuery) { ResultSet objData = null; try { objData = objConn.createStatement().executeQuery(pStrQuery); } catch (SQLException ex) { ex.printStackTrace(); } return objData; } @Override public CallableStatement getStoredProc(String pStrProc) { CallableStatement objStmt = null; try { objStmt = objConn.prepareCall(pStrProc); } catch (SQLException ex) { ex.printStackTrace(); } return objStmt; } @Override public ResultSet executeStoredProc(CallableStatement pObjProc) { ResultSet objData = null; try { objData = pObjProc.executeQuery(); } catch (SQLException ex) { ex.printStackTrace(); } return objData; } @Override public void startTransaction() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void commitTransaction() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void rollbackTransaction() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void closeConnection() { try { objConn.close(); } catch (SQLException ex) { ex.printStackTrace(); } } @Override public int executeScalar(String pStrQuery) { int intReturn = -1; try { intReturn = objConn.createStatement().executeUpdate(pStrQuery); } catch (SQLException ex) { ex.printStackTrace(); } return intReturn; } }