JDBC示例代码_java

本教程提供了如何创建一个简单的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:\>

时间: 2024-12-22 14:57:29

JDBC示例代码_java的相关文章

Mybatis的入门示例代码_java

首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示. 新建完表之后我们还需要建立相对应的实体类User.java并添加set和get方法: public class User { private String username; private String password; private int age; public String getUsername() { return usernam

Java 中的注解详解及示例代码_java

在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行. 注解可以做什么 Java中的注解通常扮演以下角色 编译器指令 构建时指令 运行时指令 其中 Java内置了三种编译器指令,本文后面部分会重点介绍 Java注解可以应用在构建时,即当你构建你的项目时.构建过程包括生成源码,编译源码,生成xml文件,打包编译的源码和文件到JAR包等.软件的构建通常使用诸如Apache Ant和Mav

SpringMvc微信支付回调示例代码_java

介绍 大家都知道微信支付的回调链接要求不能跟参数,但又要接收返回的xml数据.我开始使用@RequestBody注解在参数上,希望能获取xml数据,测试失败.最后使用HttpServletRequest去获取数据成功了. 示例代码 @RequestMapping("/weixinpay/callback") public String callBack(HttpServletRequest request){ InputStream is = request.getInputStrea

Java 数组详解及示例代码_java

下面是stackoverflow中关于数组方法的相关问题中,获得最多票数的12个数组操作方法. 1.  声明一个数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c", "d", "e"}; String[] cArray = new String[]{"a","b","c&quo

Java如何获取Date的“昨天”与“明天”示例代码_java

前言 相信大家在java中用到的最多的时间类莫过于 java.util.Date了,由于Date类中将getYear() , getMonth()等获取年.月.日的方法都废弃了,所以本文的问题要借助于Calendar来实现了,下面来直接看示例代码吧. 使用日历类:Calendar @Test public void dateTest() { Date today = new Date(); for(int i=0;i<10;i++) { today = yesterday(today); Sys

JAVA Vector源码解析和示例代码_java

第1部分 Vector介绍Vector 是矢量队列,它是JDK1.0版本添加的类.继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口.Vector 继承了AbstractList,实现了List:所以,它是一个队列,支持相关的添加.删除.修改.遍历等功能.Vector 实现了RandmoAccess接口,即提供了随机访问功能.RandmoAccess是java中用来被List实现,为List提供快速访问功能的.在Vector中,我们即可以通过

在java中使用dom4j解析xml(示例代码)_java

虽然Java中已经有了Dom和Sax这两种标准解析方式 但其操作起来并不轻松,对于我这么一个初学者来说,其中部分代码是活生生的恶心 为此,伟大的第三方开发组开发出了Jdom和Dom4j等工具 鉴于目前的趋势,我们这里来讲讲Dom4j的基本用法,不涉及递归等复杂操作 Dom4j的用法很多,官网上的示例有那么点儿晦涩,这里就不写了 首先我们需要出创建一个xml文档,然后才能对其解析 xml文档: 复制代码 代码如下: <?xml version="1.0" encoding=&quo

java selenium 操作弹出窗口示例代码_java

selenium 中如何处理弹出窗口 阅读目录 原理 测试页面的HTML Java 代码 原理 在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄,   然后遍历,  使用swithcto.window(newwindow_handle)方法. 就可以定位到新的窗口 测试页面的HTML <html> <head> <title>常见web

java 多线程-锁详解及示例代码_java

自 Java 5 开始,java.util.concurrent.locks 包中包含了一些锁的实现,因此你不用去实现自己的锁了.但是你仍然需要去了解怎样使用这些锁. 一个简单的锁 让我们从 java 中的一个同步块开始: public class Counter{ private int count = 0; public int inc(){ synchronized(this){ return ++count; } } } 可以看到在 inc()方法中有一个 synchronized(th