Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package DB.connection;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.DatabaseMetaData;
- import org.apache.commons.dbcp2.BasicDataSource;
- public class KonekcijaDataSource {
- //Konekcija preko datasource-a je nesto komplikovanija jer je potrebno vise parametara i ona pravi skup konekcija, a ne smao jednu
- //Koristit cemo samo mysql podatke za pristup
- static String driverMySQL = "com.mysql.fabric.jdbc.FabricMySQLDriver";
- static String driverMySQLNovi = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
- static String urlMySQL = "jdbc:mysql://localhost:3306/";//(*)
- //(*): Ovakav link baca warn da ne bi bacao upozorenje potrebni su dodatni parametri u linku:
- //jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false
- //ili(sa ";")
- // jdbc:mysql://localhost:3306/databaseName?autoReconnect=true;useSSL=false;
- static String driverOracle = "oracle.jdbc.driver.OracleDriver";
- static String urlOracle = "jdbc:oracle:thin:@80.65.65.66:1521:ETFLAB";
- static Connection connection = null;
- static Statement statement = null;
- static ResultSet rs = null;
- static DatabaseMetaData metaPodaci = null;
- //Dodatni parametri jer imamo pool konekcija(skup konekcija)
- protected int maxBrojKonekcija = 8;
- protected int minBrojKonekcija = 1;
- protected int vrijemeUspotavljanjaKonekcije = -1;
- //Glavni objekat
- protected BasicDataSource dataSource;
- //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
- //Na neki nacin vrsi se sinhronizacija niti nad istim resursom
- public synchronized void open() throws Exception {
- try {
- //Kreiramo objekat datasource pozivajuci konstruktor
- dataSource = new BasicDataSource();
- dataSource.setDriverClassName(driverOracle);
- dataSource.setUrl(urlOracle);
- dataSource.setUsername(etf_username);
- dataSource.setPassword(etf_password);
- dataSource.setMaxIdle(minBrojKonekcija);
- dataSource.setMaxTotal(maxBrojKonekcija);
- dataSource.setMaxWaitMillis(vrijemeUspotavljanjaKonekcije);
- System.out.println("Uspjesno kreiran data source sa zadanim parametrima!");
- }
- catch(Exception e) {
- System.out.println("Greska prilikom kreiranja datasource-a sa zadanim parametrima");
- e.printStackTrace();
- }
- }
- public void Connect() {
- try {
- connection = null;
- connection = dataSource.getConnection();
- System.out.println("Uspjesna konekcija");
- }
- catch(SQLException e) {
- System.out.println("Greska prilikom uspostavljanja konekcije");
- e.printStackTrace();
- }
- }
- public void Disconnect() {
- try {
- //Potrebno je zatvoriti konekciju na dataSource objektu
- dataSource.close();
- System.out.println("Zatvaranje konekcije");
- }
- catch(SQLException e) {
- System.out.println("Greska prilikom zatvaranja konekcije");
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement