分类:
2008-09-11 14:33:59
转摘请注明出处
作者:baggio785
来源:http://blog.csdn.net/baggio785
本文地址:http://blog.csdn.net/baggio785/archive/2006/04/24/674822.aspx
关键词:DataSource(数据源),Tomcat,连接池
前言
本文根据实例详细介绍了如何在tomcat中配置数据源。网上此类文章很多,但是基本都是雷同的,而且对一些特殊问题以及原理并未详细阐述,所以想根据自己的实际经验,并结合例子写一篇详细的文章。
本文是偶的一些拙见,有不正确的地方请大家多多评论指正。
开发环境
本文的环境:JDK1.4.2,TOMCAT5.0.28,9i
JDBC简介
提到数据源,那就不能不说JDBC。JDBC是 Database Connectivity的缩写。在java.sql包中提供了JDBC API,定义了访问数据库的接口和类。但是JDBC API不能直接访问数据库,必须依赖于数据库厂商提供的JDBC驱动程序,即JDBC DRIVER。
.sql中常用的接口和类如下:
Driver接口和DriverManager类
Connection
Statement
PreparedSataement
ResultSet
1 Driver接口和DriverManager类
DriverManager类用来建立和数据库的连接以及管理JDBC驱动程序,常用方法如下:
方法 | 描述 |
registerDriver(Driver driver) | 在DriverManager中注册JDBC驱动程序 |
getConnection(String url,String user,String pwd) | 建立和数据库的连接,返回Connection对象 |
setLoginTimeOut(int seconds) | 设定等待数据库连接的最长时间 |
setLogWriter(PrintWriter out) | 设定输入数据库日至的PrintWriter对象 |
2 Connection
Connection代表和数据库的连接,其常用方法如下:
方法 | 描述 |
getMetaData() | 返回数据库的MetaData数据。MetaData数据包含了数据库的相关信息,例如当前数据库连接的用户名、使用的JDBC驱动程序、数据库允许的最大连接数、数据库的版本等等。 |
createStatement() | 创建并返回Statement对象 |
PrepareStatement(String sql) | 创建并返回prepareStatement对象 |
3 Statement
Statement用来执行静态sql语句。例如,对于insert、update、delete语句,调用executeUpdate(String sql)方法,而select语句可以调用executeQuery(String sql)方法,executeQuery(String sql)方法返回ResultSet对象。
4 PrepareStatement
PrepareStatement用于执行动态的sql语句,即允许sql语句中包含参数。使用方法为:
String sql = “select col1 from tablename where col2=? And col3=?”;
PrepareStatement perpStmt = conn.preparestatement(sql);
perpStmt.setstring(1,col2Value);
perpStmt.setFloat(2,col3Value);
ResultSet rs = perpStmt.executeQuery();
5 ResultSet
ResultSet用来表示select语句查询得到的记录集,一个StateMent对象在同一时刻只能打开一个ResultSet对象。通过ResultSet的getXXX()方法来得到字段值。ResultSet提供了getString()、getFloat()、getInt()等方法。可以通过字段的序号或者字段的名字来制定获取某个字段的值。例如:在上例中getString(0),getString(col1)都可以获得字段col1的值。
[1]