使用DataSource小结
来源:互联网 发布:图片加音乐软件 编辑:程序博客网 时间:2024/06/06 06:29
DataSource接口(javax.sql.DataSource)替代DriverManager获取Connection的方法,有以下好处: 以下以oracle为例说明。 数据库厂商在提高JDBC2.0和以上版本的JDBC驱动中应该包含厂商的DataSource实现。 OracleDataSource ods = new OracleDataSource(); 第三方厂商也可提供DataSource实现,比如免费开源的有DBCP,C3P0和proxool等,中间件厂商比如ibm的websphere,bea的weblogic等也都有实现。 以下是DBCP的示例: BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName(“oracle.jdbc.OracleDriver”); basicDataSource.setUrl(“jdbc:oracle:thin:@<database>”); basicDataSource.setUsername(“user”);basicDataSource.setPassword(“password”); Connection connection=basicDataSource.getConnection(); 以tomcat为例,将数据库驱动库复制到{tomcat}/commmon/lib目录下。 配置{tomcat}/conf/context.xml文件,加入: <Resource name=”jdbc/demo” auth=”Container” type=”javax.sql.DataSource” 在程序中访问DataSource: Context initContext = new InitialContext(); // 注意: 以下写法只适用于tomcat(java:/comp/env). 配置内容也可以加到webapp/META-INF/context.xml文件中,这样更便于打包部署。 <%@page import="java.sql.*, javax.sql.*, javax.naming.*"%>使用厂商DataSource
ods.setUser(“my_user”);
ods.setPassword(“my_password”);
ods.setURL(“jdbc:oracle:thin:@<database>”);
Connection conn = ods.getConnection();第三方DataSource
结合JNDI的DataSource
driverClassName=”org.apache.derby.jdbc.ClientDriver”
url=”jdbc:derby://localhost:1527/demo”
username=”test”
password=”test”
maxActive=”2″
maxIdle=”1″
removeAbandoned=”true”
maxWait=”300″ />
Context envContext = (Context) initContext.lookup(“java:/comp/env”);
dataSource = (DataSource) envContext.lookup(“jdbc/demo”);
<html>
<head>
<title>Using a DataSource</title>
</head>
<body>
<h1>Using a DataSource</h1>
<%
DataSource ds = null;
Connection conn = null;
ResultSet result = null;
Statement stmt = null;
ResultSetMetaData rsmd = null;
try{
Context context = new InitialContext();
Context envCtx = (Context) context.lookup("java:comp/env");
ds = (DataSource)envCtx.lookup("jdbc/address");
if (ds != null) {
conn = ds.getConnection();
stmt = conn.createStatement();
result = stmt.executeQuery("SELECT * FROM AddressList");
}
}
catch (SQLException e) {
System.out.println("Error occurred " + e);
}
int columns=0;
try {
rsmd = result.getMetaData();
columns = rsmd.getColumnCount();
}
catch (SQLException e) {
System.out.println("Error occurred " + e);
}
%>
<table width="90%" border="1">
<tr>
<% // write out the header cells containing the column labels
try {
for (int i=1; i<=columns; i++) {
out.write("<th>" + rsmd.getColumnLabel(i) + "</th>");
}
%>
</tr>
<% // now write out one row for each entry in the database table
while (result.next()) {
out.write("<tr>");
for (int i=1; i<=columns; i++) {
out.write("<td>" + result.getString(i) + "</td>");
}
out.write("</tr>");
}
// close the connection, resultset, and the statement
result.close();
stmt.close();
conn.close();
} // end of the try block
catch (SQLException e) {
System.out.println("Error " + e);
}
// ensure everything is closed
finally {
try {
if (stmt != null)
stmt.close();
} catch (SQLException e) {}
try {
if (conn != null)
conn.close();
} catch (SQLException e) {}
}
%>
</table>
</body>
</html>
- 使用DataSource小结
- 使用DataSource小结
- 使用DataSource取得连接
- dataSource数据库连接池的使用
- 使用DataBinder.Eval绑定DataSource
- proxool使用(DataSource、MySQL)
- 使用DataSource获取oracle数据库连接
- DataSource
- DataSource
- datasource
- dataSource
- dataSource
- Tomcat中配置和使用JNDI DataSource
- 使用Spring的PropertyPlaceholderConfigurer类配置datasource
- DotNet2005checkListBox可以使用DataSource 绑定数据
- 使用java datasource 进行 oracle jdbc 连接
- Java使用JNDI技术获取DataSource对象
- Tomcat6.x DataSource的配置与使用
- WEB中的MYSQL应用
- 确定Oracle数据库表中重复的记录(转)
- hdu 1176 免费馅饼
- 六步搞定 Oracle透明网关环境的建立
- android linker 浅析
- 使用DataSource小结
- JSF标签
- 谈谈SQL 语句的优化技术 (1)
- Oracle数据泵导出导入与传统导出导入的区别
- Java核心技术(多线程)一
- XML_Parse, XML_ParserCreate等依赖于库:libexpat.lib
- Simple Items
- Sqldeveloper与Sqlplus连接远程数据库的一点不同(Oracle 真是坑爹啊)
- 打印的方法