连接数据库的两种方式 终于搞明白了!

java应用程序连接数据库的方式一般来说有两种 1. 通过java.sql.DriverManager来得到数…

java应用程序连接数据库的方式一般来说有两种

1. 通过java.sql.DriverManager来得到数据库的连接。

平常所说的

Class.forName(“com.ibm.db2.jcc.DB2Driver”).newInstance();
String user = “db2admin”;
String password = “db2kingdom”;
String url = “jdbc:db2://192.168.47.1:50000/TESTDB2”;
conn = DriverManager.getConnection(url,user,password);

return conn

就是这种方式。

2.使用javax.sql.DataSource的方式连接数据库。

在使用连接池的时候用过是这么写的

DataSource ds = null;
try {
Context ctx = new javax.naming.InitialContext();
ds = (javax.sql.DataSource) (DataSource) ctx.lookup(“jdbc/ccsb”);

} catch (NamingException e) {
System.out.println(“===初始化数据源失败!指定的JNDI不存在:jdbc/ccsb);
} catch (Exception e) {
e.printStackTrace();
}
return ds;

其中 对于数据源的管理(DataSource)又可以分为两种方式

(1)交由应用服务器来管理,然后再应用服务器的JNDI对象中通过looku() 方 s法查找得到。

例如:在tomcat的server.xml文件中

auth=”container”

type=”javax.sql.DataSource”

DriverclassName=”oracle.jdbc.driver.OracleDriver”

url=”jdbc:oracle:thin:@192.168.0.8:1521:ora9i”
username=”ccsb”
password=”ccsb”
maxActive=”20″
maxIdle=”10″
maxWait=”-1″/

通过在中注册一个资源Resource,这时,该数据源就已经交由应用服务器来管理了.该应用启动的时候,该资源就会被实例话并在应用服务器JNDI对象中保存该实例的一个句柄“jdbc/ccsb”,当要使用该数据源的时候,可以通过lookup这个句柄来取得该对象,并将其强制转型

(2)

交由第三方的数据源管理组件

如C3p0组件等,此时无法通过索引应用服务器的JNDI树来获得该数据源,因为JNDI是应用服务器相关的(JNDI是应用服务器的一个索引树)

数据库连接池

当使用数据源来操作数据库时,可以配置使用数据库连接池,来提高访问数据库的效率,对于连接池的管理也分为两种:1)应用服务器管理 2)第三方数据源管理组件来管理

本文来自网络,不代表软粉网立场,转载请注明出处:https://www.rfff.net/p/8552.html

作者: HUI

发表评论

您的电子邮箱地址不会被公开。

返回顶部