- 浏览: 192018 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (75)
- JSP/Servlet (4)
- Spring (5)
- Hibernate (1)
- Struts (5)
- EJB (3)
- Swing (1)
- Core Java (29)
- Algorithm (2)
- HTML/CSS/JavaScript (0)
- JQuery/AJAX (1)
- Oracle (0)
- Design Pattern (2)
- MVC (0)
- Web服务器 (3)
- 杂项 (0)
- NetCDF On Java (0)
- Java Extension (2)
- iBATIS (4)
- English Articles (1)
- JavaEE (3)
- Java8 (3)
- Android (3)
- Maven (1)
- Hadoop (1)
- Docker (0)
- Java高并发 (0)
最新评论
-
Bll:
为什么要推荐jsp动作标签访问呢?
JavaBean入门 - 概念和简单例子 -
落雪封:
我检查过了,没有注释,只是大文本,也一直报这个错,求原因
Abator生成错误:XML document structures must start and end within the same entity
今天我们来讲一下在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)
我们可以把连接封装在一个类中,具体代码如下:
下面我们就来做个基本的JDBC程序来显示我们例子数据库(Oracle)中的Customers
表的数据。
首先我们需要做个Customer类,用于获取数据库中的单行记录:
接下来,是客户端的访问代码:
熟悉微软的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); } } }
发表评论
-
Java高并发和多线程系列 - 1. 线程基本概念
2018-04-16 09:45 3621. 什么是线程? 线程和进程的区别 在了解线程的概念前,我 ... -
Java多线程编程-同步和锁
2017-10-04 13:29 01. 竞态条件(Race Condition) 两个或以上线 ... -
Core Java - 流(Stream) - 字节流和字符流(一)
2016-12-02 17:27 4910. 概述: Java中基于流的 ... -
Java开发 - 异常 - 使用throws
2016-04-21 11:35 562如果一个方法可能会产生异常,我们需要用throws关键字给它标 ... -
Java开发 - 异常 - 抛出异常
2016-04-21 11:24 630问题: 如何抛出一个系统异常并且捕获它 代码如下: pu ... -
Java8通过管道流(stream)来实现集合的一些聚合函数
2015-10-22 10:24 1803stream的一些聚合函数包括: count(), findF ... -
数组自定义排序
2015-10-21 14:17 1459CustomComparator.java package ... -
数组排序
2015-10-21 09:58 706SortArray.java package coreja ... -
HashMap使用范例
2015-10-20 14:25 794HashMapDemo.java package core ... -
Java8新特性 - Lambda表达式 - Functional Interfaces
2015-10-20 09:52 775Mapper.java package corejava8 ... -
使用Hashtable和线程技术制作自己简单的内存缓存
2013-07-19 11:06 11591. 首先,我们要做一个缓存数据类 这个数据类要有一个数据 ... -
Java OutOfMemory 解决
2013-07-19 10:18 837Eclipse中设置 -
String.format方法使用
2013-06-18 15:21 1918一.常规类型、字符类型和数值类型的格式说明符的语法如下:%[a ... -
JDK1.6连接SQL Server2008失败的原因
2011-07-29 15:05 10791. 需要下载最新sql server jdbc,从微软网站下 ... -
jar命令打包java带有包名的类文件
2011-07-13 09:40 1315jar cvfm JTool.jar jtool\ui\man ... -
ikvm转换jar文件成dll
2011-06-19 22:35 1748ikvmc -out:BasicFileOutput.dll ... -
jar命令打包java类文件
2011-06-19 22:33 1370jar cvfm BasicFileOutput.jar ma ... -
Java命令行编译自动生成包目录
2011-06-19 18:01 1395javac -d . BufferedInputFile.ja ... -
用命令行编译和执行带有包的java文件
2011-06-19 15:24 2789主要介绍java和javac命令的使用, 分带package和 ... -
FilenameFilter过滤目录下文件
2011-06-19 10:01 991编写一个实现FilenameFilter接口的类 publ ...
相关推荐
数据库原理实验六ODBC和JDBC数据库编程实用 本文档主要介绍了数据库原理实验六中的ODBC和JDBC数据库编程实用,实验报告题目包括ODBC配置、ODBC编程、JDBC实现对数据库的连接、查询、插入、修改和删除等内容。 一、...
《网络数据库编程指南--详细分析》是一本针对网络数据库编程领域的深入指南,旨在帮助开发者理解和掌握如何在分布式环境中实现高效、安全的数据库交互。本文将围绕Java、Socket、网络编程、数据库编程以及网络数据库...
**JDBC API数据库编程实作教材** 在Java开发中,JDBC(Java Database Connectivity)是连接Java应用程序与各种类型数据库的重要桥梁。它提供了一组接口和类,使得开发者能够使用标准的Java代码来访问和操作数据库。...
### IT—JDBC数据库编程的研究 #### 摘要与引言 在当前信息技术领域,尤其是Web应用程序的设计与开发过程中,提升数据库响应性能对于优化应用性能至关重要。随着Web应用程序从简单的信息展示平台向复杂的业务处理...
### JDBC与Java数据库编程 #### 第一章:JDBC的概念 **1.1 JDBC是什么** JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一的访问接口。JDBC的目标是允许开发...
通过实践这些基本步骤和概念,初学者可以逐渐掌握JDBC数据库编程,并为更复杂的数据库应用打下坚实基础。在"jdbc.rar"中,可能包含示例代码、教程文档或练习项目,帮助初学者更好地理解和应用JDBC技术。
Java Database Connectivity(JDBC)是Java编程语言中用于与各种数据库进行交互的一种标准接口。它由Sun Microsystems(现为Oracle公司)开发并维护,允许Java应用程序通过Java虚拟机(JVM)来执行SQL语句,从而实现...
### JDBC数据库编程基本知识与开发配置详解 #### 一、JDBC基本概念 JDBC(Java Database Connectivity)是Java开发者为实现与各种数据库之间的无缝连接而制定的一项关键技术。这项技术的核心目的是让Java应用程序...
《JDBC与Java数据库编程》一书旨在深入探讨Java如何通过JDBC(Java Database Connectivity)这一接口与数据库进行高效互动,实现数据的读取、写入、更新等操作。以下是对该主题的详细解析,包括JDBC的概念、体系结构...
### JDBC—Java数据库编程知识点详解 #### 一、JDBC简介 **JDBC** (Java Database Connectivity) 是一套用于执行 SQL 语句的 Java API,它由一组用 Java 编程语言编写的类和接口组成。JDBC 提供了一种标准的方式,...
总结而言,JDBC是Java数据库编程的基础,理解和掌握JDBC的原理和使用方法对于任何Java开发者来说都是必要的,特别是对于那些需要进行数据库操作的项目。同时,随着技术的发展,开发者也应该了解和考虑使用ORM框架以...
3. 本实验分两次完成,第一次可以先做一些准备测试,旨在熟悉 JDBC API 编程接口中相关类的使用方法,测试中可以先基于字符界面实现功能,再逐步过渡到图形界面。 四、实验步骤 1. 在 Access 或 SQL Server 中建立...
Hive是Apache Hadoop生态系统中的一个数据仓库工具,...了解并正确使用Hive JDBC驱动,是进行Hive数据操作的重要一环,尤其对于那些希望通过编程方式或数据库管理工具访问Hive数据的开发人员来说,它是必不可少的工具。
Java数据库编程JDBC是Java开发中的重要组成部分,它允许Java应用程序与各种类型的数据库进行交互。JDBC(Java Database Connectivity)是Sun Microsystems公司推出的用于统一访问数据库的接口,它为Java程序员提供了...
实验报告的主题是“JAVA实验报告四数据库编程”,主要目的是让学生掌握基本的数据库管理系统(DBMS)使用、理解Java数据库连接(JDBC)的概念,并通过JDBC-ODBC桥接技术来开发实际的数据库系统。实验内容包括设计和...
**JDBC数据库编程,通讯时间查询(MySQL)** 在Java应用程序中,JDBC(Java Database Connectivity)是连接数据库的标准API,它允许Java程序与各种类型的数据库进行交互。本主题主要探讨如何利用JDBC来实现对MySQL...
JDBC(Java Database Connectivity)是Java编程语言中用于与关系型数据库进行交互的一组接口和类,由Sun Microsystems(现为Oracle公司)提供。它允许Java应用程序通过Java虚拟机(JVM)与各种数据库系统进行通信,...
#### 一、JDBC概述及原理 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问接口。它使得Java应用程序能够方便地访问各种数据库,而无需关心具体的数据库...