当前位置:编程学习 > JSP >>

jdbc如何在Servlet中应用高级技术知识(一)

JDBC使用数据库URL来说明数据库驱动程序。数据库URL类似于通用的URL,但SUN 在定义时作了一点简化,其语法如下:

Jdbc::[node]/[database]

  其中子协议(subprotocal)定义驱动程序类型,node提供网络数据库的位置和端口号,后面跟可选的参数。例如:

String url=”jdbc:inetdae:myserver:1433?language=us-english&sql7=true”

  表示采用inetdae驱动程序连接1433端口上的myserver数据库服务器,选择语言为美国英语,数据库的版本是mssql server 7.0。

  java应用通过指定DriverManager装入一个驱动程序类。语法如下:

Class.forName(“”);



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();

  }

www.zzzyk.com,学习电脑知识的好地方 

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,