Advertisement
Guest User

Untitled

a guest
Feb 6th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.98 KB | None | 0 0
  1. package DB.connection;
  2.  
  3.  
  4. import java.sql.SQLException;
  5. import java.sql.Statement;
  6. import java.sql.Connection;
  7. import java.sql.ResultSet;
  8. import java.sql.DatabaseMetaData;
  9. import org.apache.commons.dbcp2.BasicDataSource;
  10.  
  11. public class KonekcijaDataSource {
  12.    
  13.    
  14.     //Konekcija preko datasource-a je nesto komplikovanija jer je potrebno vise parametara i ona pravi skup konekcija, a ne smao jednu
  15.     //Koristit cemo samo mysql podatke za pristup
  16.    
  17.    
  18.     static String driverMySQL = "com.mysql.fabric.jdbc.FabricMySQLDriver";
  19.     static String driverMySQLNovi = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  20.     static String urlMySQL = "jdbc:mysql://localhost:3306/";//(*)
  21.     //(*): Ovakav link baca warn da ne bi bacao upozorenje potrebni su dodatni parametri u linku:
  22.     //jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false
  23.     //ili(sa ";")
  24.     // jdbc:mysql://localhost:3306/databaseName?autoReconnect=true;useSSL=false;
  25.     static String driverOracle = "oracle.jdbc.driver.OracleDriver";
  26.     static String urlOracle = "jdbc:oracle:thin:@80.65.65.66:1521:ETFLAB"; 
  27.    
  28.     static Connection connection = null;
  29.     static Statement statement = null;
  30.     static ResultSet rs = null;
  31.     static DatabaseMetaData metaPodaci = null;
  32.    
  33.     //Dodatni parametri jer imamo pool konekcija(skup konekcija)
  34.     protected int maxBrojKonekcija = 8;
  35.     protected int minBrojKonekcija = 1;
  36.     protected int vrijemeUspotavljanjaKonekcije = -1;
  37.    
  38.     //Glavni objekat
  39.     protected BasicDataSource dataSource;
  40.    
  41.     //synchronized tag znaci ako 2 niti rade na isto objektu ukoliko jedna nit promijeni taj objekat druga zna za tu promjenu odnosno radi sa promjenjenom vrijednosti varijable
  42.     //Na neki nacin vrsi se sinhronizacija niti nad istim resursom
  43.     public synchronized void open() throws Exception {
  44.         try {
  45.             //Kreiramo objekat datasource pozivajuci konstruktor
  46.             dataSource = new BasicDataSource();
  47.             dataSource.setDriverClassName(driverOracle);
  48.             dataSource.setUrl(urlOracle);
  49.             dataSource.setUsername(etf_username);
  50.             dataSource.setPassword(etf_password);
  51.             dataSource.setMaxIdle(minBrojKonekcija);
  52.             dataSource.setMaxTotal(maxBrojKonekcija);
  53.             dataSource.setMaxWaitMillis(vrijemeUspotavljanjaKonekcije);
  54.             System.out.println("Uspjesno kreiran data source sa zadanim parametrima!");
  55.         }
  56.         catch(Exception e) {
  57.             System.out.println("Greska prilikom kreiranja datasource-a sa zadanim parametrima");
  58.             e.printStackTrace();
  59.            
  60.         }
  61.     }
  62.    
  63.     public void Connect() {
  64.         try {
  65.             connection = null;
  66.             connection = dataSource.getConnection();
  67.             System.out.println("Uspjesna konekcija");
  68.         }
  69.         catch(SQLException e) {
  70.             System.out.println("Greska prilikom uspostavljanja konekcije");
  71.             e.printStackTrace();
  72.         }
  73.     }
  74.     public void Disconnect() {
  75.         try {
  76.             //Potrebno je zatvoriti konekciju na dataSource objektu
  77.             dataSource.close();
  78.             System.out.println("Zatvaranje konekcije");
  79.         }
  80.         catch(SQLException e) {
  81.             System.out.println("Greska prilikom zatvaranja konekcije");
  82.             e.printStackTrace();
  83.                    
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement