欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JDBC示例代码

程序员文章站 2024-03-31 11:55:22
本教程提供了如何创建一个简单的jdbc应用程序的示例。演示如何打开一个数据库连接,执行sql查询,并显示结果。 所有在此模板的例子中提到的步骤,将在本教程的后续章节说明。...
本教程提供了如何创建一个简单的jdbc应用程序的示例。演示如何打开一个数据库连接,执行sql查询,并显示结果。

所有在此模板的例子中提到的步骤,将在本教程的后续章节说明。

创建jdbc应用程序:

有下列涉及构建jdbc应用程序的六个步骤:

  • 导入数据包 . 需要包括含有需要进行数据库编程的jdbc类的包。大多数情况下,使用 import java.sql.*  就可以了.

  • 注册jdbc驱动程序. 需要初始化驱动程序,可以与数据库打开一个通信通道。

  • 打开连接. 需要使用drivermanager.getconnection() 方法创建一个connection对象,它代表与数据库的物理连接。

  • 执行查询 . 需要使用类型声明的对象建立并提交一个sql语句到数据库。

  • 从结果集中提取数据 . 要求使用适当的关于resultset.getxxx()方法来检索结果集的数据。

  • 清理环境. 需要明确地关闭所有的数据库资源相对依靠jvm的垃圾收集。

示例代码:
这个范例的例子可以作为一个模板,在需要建立jdbc应用程序。

基于对环境和数据库安装在前面的章节中做此示例代码已写入。

复制下面的例子firstexample.java,编译并运行,如下所示:

复制代码 代码如下:

//step 1. import required packages
import java.sql.*;

public class firstexample {
   // jdbc driver name and database url
   static final string jdbc_driver = "com.mysql.jdbc.driver"; 
   static final string db_url = "jdbc:mysql://localhost/emp";

   //  database credentials
   static final string user = "username";
   static final string pass = "password";

   public static void main(string[] args) {
   connection conn = null;
   statement stmt = null;
   try{
      //step 2: register jdbc driver
      class.forname("com.mysql.jdbc.driver");

      //step 3: open a connection
      system.out.println("connecting to database...");
      conn = drivermanager.getconnection(db_url,user,pass);

      //step 4: execute a query
      system.out.println("creating statement...");
      stmt = conn.createstatement();
      string sql;
      sql = "select id, first, last, age from employees";
      resultset rs = stmt.executequery(sql);

      //step 5: extract data from result set
      while(rs.next()){
         //retrieve by column name
         int id  = rs.getint("id");
         int age = rs.getint("age");
         string first = rs.getstring("first");
         string last = rs.getstring("last");

         //display values
         system.out.print("id: " + id);
         system.out.print(", age: " + age);
         system.out.print(", first: " + first);
         system.out.println(", last: " + last);
      }
      //step 6: clean-up environment
      rs.close();
      stmt.close();
      conn.close();
   }catch(sqlexception se){
      //handle errors for jdbc
      se.printstacktrace();
   }catch(exception e){
      //handle errors for class.forname
      e.printstacktrace();
   }finally{
      //finally block used to close resources
      try{
         if(stmt!=null)
            stmt.close();
      }catch(sqlexception se2){
      }// nothing we can do
      try{
         if(conn!=null)
            conn.close();
      }catch(sqlexception se){
         se.printstacktrace();
      }//end finally try
   }//end try
   system.out.println("goodbye!");
}//end main
}//end firstexample

现在来编译上面的例子如下:

复制代码 代码如下:

c:\>javac firstexample.java
c:\>

当运行firstexample,它会产生以下结果:

复制代码 代码如下:

c:\>java firstexample
connecting to database...
creating statement...
id: 100, age: 18, first: zara, last: ali
id: 101, age: 25, first: mahnaz, last: fatma
id: 102, age: 30, first: zaid, last: khan
id: 103, age: 28, first: sumit, last: mittal
c:\>