Servlet开发中JDBC的高级应用
发表于:2007-06-22来源:作者:点击数:
标签:
下一页 1 2 3 4 连结数据库 JDBC使用数据库URL来说明数据库驱动程序。数据库URL类似于通用的URL,但SUN 在定义时作了一点简化,其语法如下: Jdbc::[node]/[database] 其中子协议(subprotocal)定义驱动程序类型,node提供 网络 数据库的位置和端口号,后面
下一页 1 2 3 4
|
连结数据库
JDBC使用数据库URL来说明数据库驱动程序。数据库URL类似于通用的URL,但SUN 在定义时作了一点简化,其语法如下:
Jdbc::[node]/[database]
其中子协议(subprotocal)定义驱动程序类型,node提供网络数据库的位置和端口号,后面跟可选的参数。例如:
clearcase/" target="_blank" >cc66 width="90%" align=center bgColor=#dadacf border=1>
| String url=”jdbc:inetdae:myserver:1433?language=us-english&sql7=true” | 表示采用inetdae驱动程序连接1433端口上的myserver数据库服务器,选择语言为美国英语,数据库的版本是mssql server 7.0。
java应用通过指定DriverManager装入一个驱动程序类。语法如下:
或
| Class.forName(“”).newInstance(); | 然后,DriverManager创建一个特定的连接:
| Connection connection=DriverManager.getConnection(url,login,password); | Connection接口通过指定数据库位置,登录名和密码连接数据库。Connection接口创建一个Statement实例执行需要的查询:
| Statement stmt=connection.createStatement(); | Statement具有各种方法(API),如executeQuery,execute等可以返回查询的结果集。结果集是一个ResultSet对象。具体的可以通过jdbc开发文档查看。可以sun的站点上下载
下面例子来说明:
import java.sql.*; // 输入JDBC package
String url = "jdbc:inetdae:myserver:1433";// 主机名和端口 String login = "user";// 登录名 String password = "";// 密码
try { DriverManager.setLogStream(System.out); file://为显示一些的信息打开一个流 file://调用驱动程序,其名字为com.inet.tds.TdsDriver file://Class.forName("com.inet.tds.TdsDriver"); file://设置超时 DriverManager.setLoginTimeout(10); file://打开一个连接 Connection connection = DriverManager.getConnection(url,login,password); file://得到数据库驱动程序版本
DatabaseMetaData conMD = connection.getMetaData(); System.out.println("Driver Name:\t" + conMD.getDriverName()); System.out.println("Driver Version:\t" + conMD.getDriverVersion());
file://选择数据库 connection.setCatalog( "MyDatabase");
file://创建Statement
Statement st = connection.createStatement();
file://执行查询
ResultSet rs = st.executeQuery("SELECT * FROM mytable");
file://取得结果,输出到屏幕
while (rs.next()){ for(int j=1; j<=rs.getMetaData().getColumnCount(); j++){ System.out.print( rs.getObject(j)+"\t"); } System.out.println(); }
file://关闭对象 st.close(); connection.close(); } catch(Exception e) { e.printStackTrace(); } |
|
原文转自:http://www.ltesting.net