30 Ekim 2017 Pazartesi

JDBC DataSource Arayüzü - DriverManager Yerine Bunu Kullanmak Lazım

Giriş
Şu satırı dahil ederiz.
import javax.sql.DataSource;
JDBC Driver Connection URL String yazısına bakılabilir.

Bu sınıf DriverManager  ile aynı işi görür. Açıklaması şöyle
The DataSource interface is implemented by a driver vendor. There are three types of implementations:
Basic implementation -- produces a standard Connection object
Connection pooling implementation -- produces a Connection object that will automatically participate in connection pooling. This implementation works with a middle-tier connection pooling manager.
Distributed transaction implementation -- produces a Connection object that may be used for distributed transactions and almost always participates in connection pooling. This implementation works with a middle-tier transaction manager and almost always with a connection pooling manager.
constructor - JNDI
Uygulama sunucusunu kullanarak şöyle yaparız.
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/myDB");
Şöyle yaparız.
DataSource ds = (DataSource) new InitialContext().lookup("jdbc/myDS");
constructor - C3P0
C3P0 yazısına taşıdım.

constructor - Apache DBCP
Apache DBCP yazısına taşıdım.

constructor - MySql
MysqlDataSource Sınıfı yazısına taşıdım.

constructor - Oracle
OracleDataSource Sınıfı yazısına taşıdım.

constructor - Oracle Universal Connection Pool
Oracle Universal Connection Pool yazısına taşıdım. Bu sınıfı OracleDataSource Sınıfına tercih etmek lazım. 

constructor - postgresql
PGSimpleDataSource Sınıfı yazısına taşıdım.

constructor - tomcat
Tomcat JDBC Connection Pool yazısına  taşıdım.

getConnection metodu
Örnek
Şöyle yaparız.
Connection con = dataSource.getConnection();
Örnek
Şöyle yaparız.
try (Connection connnection = dataSource.getConnection()) {
  // use the connection
  connection.commit();
}



Hiç yorum yok:

Yorum Gönder