`

JDBC数据库编程(一) - 三大对象及基本步骤

阅读更多
今天我们来讲一下在Java中如何利用JDBC访问数据库的基本步骤。

熟悉微软的ADO的朋友一定知道,在MS中访问数据库有三大对象,它们是:
Connection(连接), Command(命令), RecordSet(记录集)

我们要说,在JDBC中我们也有对应的三大对象:

Connection (连接)
Statement  (语句)
ResultSet  (结果集)



注意: ResultSet不要与RecordSet搞混。


既然有了三大对象,那下面我们就来看一下JDBC访问数据库的基本步骤。



1) 获取Connection(连接)。
2) 利用连接创建Statement(语句)。
3) 利用Statement(语句)传入实际sql语句操作(查询,更新)数据库。
4) 关闭连接。



其中,连接本身包括五大要素:


a. driver        (数据库驱动名)
b. source url    (数据库URL)
c. user name     (连接数据库的用户名)
d. user password (连接数据库的密码)
e. Connection     (连接本身)


获取连接的基本步骤如下:

1) 装载驱动。                    (eg: Class.forName("驱动名");)
2) 根据url,用户名,密码取得连接。(DriverManager)



我们可以把连接封装在一个类中,具体代码如下:
package corejava2.jdbc;

import java.sql.*;

public class DbConn {
	private String driver = "oracle.jdbc.driver.OracleDriver";
	private String srcUrl = "jdbc:oracle:thin:@localhost:1521:OracleDB";
	private String user = "train";
	private String password = "train";
	private Connection conn = null;
	
	public DbConn() {
		try {
			Class.forName(driver);
			this.conn = DriverManager.getConnection(srcUrl, user, password);
		} catch (Exception e) {
			System.out.println("Get DB Connection Error!");
		}
	}
	
	public Connection getConnection() {
		return this.conn;
	}
	
	public void close() {
		try {
			this.conn.close();
		} catch (Exception e) {
			System.out.println("Close DB Connection Error!");
		}
	}
}


下面我们就来做个基本的JDBC程序来显示我们例子数据库(Oracle)中的Customers
表的数据。

首先我们需要做个Customer类,用于获取数据库中的单行记录:
package corejava2.objects;

public class Customer {
	private String customerId;
	private String city;
	
	public Customer(String customerId, String city) {
		this.customerId = customerId;
		this.city = city;
	}

	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}

	public String getCustomerId() {
		return customerId;
	}
	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

          public String toString() {
		return "Id: " + customerId + " , City: " + city; 
	}
}


接下来,是客户端的访问代码:
package corejava2.jdbc;

import java.util.*;
import java.sql.*;
import corejava2.objects.Customer;

public class SimpleQuery {
	public static void main(String[]args)
		throws Exception{
		DbConn conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		ArrayList customers = null;
		String sql = "select * from Customers";
		
		conn = new DbConn();
		
		try {
			stmt = conn.getConnection().createStatement();
			rs = stmt.executeQuery(sql);
			
			customers = loadCustomers(rs);
			
			rs.close();
			stmt.close();
			conn.close();
			
			showCustomers(customers);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
	}
	
	private static ArrayList loadCustomers(ResultSet rs)
		throws Exception {
		
		ArrayList customerList = new ArrayList();
		
		while (rs.next()) {
			String customerId = rs.getString("CUSTOMERID");
			String city = rs.getString("CITY");
			
			Customer customer = new Customer(customerId,city);
			customerList.add(customer);
		}
		
		return customerList;
	}
	
	private static void showCustomers(ArrayList list) {
		Iterator it = list.iterator();
		while (it.hasNext()) {
			Customer customer = (Customer)it.next();
			System.out.println(customer);
		}
	}
}




分享到:
评论

相关推荐

    数据库原理实验六ODBC和JDBC数据库编程实用.pdf

    数据库原理实验六ODBC和JDBC数据库编程实用 本文档主要介绍了数据库原理实验六中的ODBC和JDBC数据库编程实用,实验报告题目包括ODBC配置、ODBC编程、JDBC实现对数据库的连接、查询、插入、修改和删除等内容。 一、...

    网络数据库编程指南--详细分析

    《网络数据库编程指南--详细分析》是一本针对网络数据库编程领域的深入指南,旨在帮助开发者理解和掌握如何在分布式环境中实现高效、安全的数据库交互。本文将围绕Java、Socket、网络编程、数据库编程以及网络数据库...

    JDBC API数据库编程实作教材

    **JDBC API数据库编程实作教材** 在Java开发中,JDBC(Java Database Connectivity)是连接Java应用程序与各种类型数据库的重要桥梁。它提供了一组接口和类,使得开发者能够使用标准的Java代码来访问和操作数据库。...

    IT—JDBC数据库编程的研究

    ### IT—JDBC数据库编程的研究 #### 摘要与引言 在当前信息技术领域,尤其是Web应用程序的设计与开发过程中,提升数据库响应性能对于优化应用性能至关重要。随着Web应用程序从简单的信息展示平台向复杂的业务处理...

    JDBC与Java数据库编程

    ### JDBC与Java数据库编程 #### 第一章:JDBC的概念 **1.1 JDBC是什么** JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一的访问接口。JDBC的目标是允许开发...

    jdbc.rar_jdbc数据库编程

    通过实践这些基本步骤和概念,初学者可以逐渐掌握JDBC数据库编程,并为更复杂的数据库应用打下坚实基础。在"jdbc.rar"中,可能包含示例代码、教程文档或练习项目,帮助初学者更好地理解和应用JDBC技术。

    JDBC 连接数据库jar包--mysql-connector-java-5.1.46.zip

    Java Database Connectivity(JDBC)是Java编程语言中用于与各种数据库进行交互的一种标准接口。它由Sun Microsystems(现为Oracle公司)开发并维护,允许Java应用程序通过Java虚拟机(JVM)来执行SQL语句,从而实现...

    jdbc数据库编程基本知识和开发配置

    ### JDBC数据库编程基本知识与开发配置详解 #### 一、JDBC基本概念 JDBC(Java Database Connectivity)是Java开发者为实现与各种数据库之间的无缝连接而制定的一项关键技术。这项技术的核心目的是让Java应用程序...

    JDBC与Java数据库编程.pdf

    《JDBC与Java数据库编程》一书旨在深入探讨Java如何通过JDBC(Java Database Connectivity)这一接口与数据库进行高效互动,实现数据的读取、写入、更新等操作。以下是对该主题的详细解析,包括JDBC的概念、体系结构...

    JDBC-Java数据库编程

    ### JDBC—Java数据库编程知识点详解 #### 一、JDBC简介 **JDBC** (Java Database Connectivity) 是一套用于执行 SQL 语句的 Java API,它由一组用 Java 编程语言编写的类和接口组成。JDBC 提供了一种标准的方式,...

    JDBC编程总结(包括各种数据库连接方法)

    总结而言,JDBC是Java数据库编程的基础,理解和掌握JDBC的原理和使用方法对于任何Java开发者来说都是必要的,特别是对于那些需要进行数据库操作的项目。同时,随着技术的发展,开发者也应该了解和考虑使用ORM框架以...

    JAVA-JDBC连接数据库(查询-添加-修改-删除).doc

    3. 本实验分两次完成,第一次可以先做一些准备测试,旨在熟悉 JDBC API 编程接口中相关类的使用方法,测试中可以先基于字符界面实现功能,再逐步过渡到图形界面。 四、实验步骤 1. 在 Access 或 SQL Server 中建立...

    hive驱动包hive-jdbc-uber-2.6.5.0-292.jar(用户客户端连接使用)

    Hive是Apache Hadoop生态系统中的一个数据仓库工具,...了解并正确使用Hive JDBC驱动,是进行Hive数据操作的重要一环,尤其对于那些希望通过编程方式或数据库管理工具访问Hive数据的开发人员来说,它是必不可少的工具。

    java数据库编程jdbc

    Java数据库编程JDBC是Java开发中的重要组成部分,它允许Java应用程序与各种类型的数据库进行交互。JDBC(Java Database Connectivity)是Sun Microsystems公司推出的用于统一访问数据库的接口,它为Java程序员提供了...

    JAVA实验报告四数据库编程.docx

    实验报告的主题是“JAVA实验报告四数据库编程”,主要目的是让学生掌握基本的数据库管理系统(DBMS)使用、理解Java数据库连接(JDBC)的概念,并通过JDBC-ODBC桥接技术来开发实际的数据库系统。实验内容包括设计和...

    JDBC数据库编程,通讯时间查询(mysql)

    **JDBC数据库编程,通讯时间查询(MySQL)** 在Java应用程序中,JDBC(Java Database Connectivity)是连接数据库的标准API,它允许Java程序与各种类型的数据库进行交互。本主题主要探讨如何利用JDBC来实现对MySQL...

    JAVAJDBC数据库编程.ppt

    JDBC(Java Database Connectivity)是Java编程语言中用于与关系型数据库进行交互的一组接口和类,由Sun Microsystems(现为Oracle公司)提供。它允许Java应用程序通过Java虚拟机(JVM)与各种数据库系统进行通信,...

    JDBC开发过程与原理

    #### 一、JDBC概述及原理 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。它使得Java应用程序能够方便地访问各种数据库,而无需关心具体的数据库...

Global site tag (gtag.js) - Google Analytics