JDBC访问数据库
什么是JDBC?
JDBC是java应用程序连接不同数据库的标准API,开发人员可以通过该API连接到各种类型的数据库管理系统,并对数据库中的数据进行操作。 但因每种类型的数据库的实现不相同,所以在连接每种类型的数据库时,需要使用连接特定的数据库程序,成为JDBC驱动程序。
数据库开发程序的流程
1 建立数据源 数据库的创建
2 引入java.sql包
3 加载驱动程序 所以,在数据库应用程序开发时,需要学会两件事情:得到数据库的JDBC驱动程序;使用这组标准的API,完成对数据库的基本操作。 用户只需编写不同的SQL语句,而不关心数据库的实现以及不同数据库之间的差异。
JDBC工作原理
JDBC包含两组接口,一组是面向java应用开发人员,另一组接口面向驱动程序编写人员。通过JDBC API可以完成以下三件事情。
1 建立与数据库管理系统的连接
2 向服务器提交要执行的SQL语句
3 处理返回的结果
不同的数据库管理系统有不同的JDBC驱动程序,在java应用中需要指定连接数据库所需要的驱动程序,然后通过JDBC API把连接数据库的请求以及执行SQL语句的请求发送到数据库管理系统,同时JDBC API 会把数据库查询的结果返回给应用程序。
JDBC驱动程序类型
类型1驱动程序:JDBC-ODBC桥,通过ODBC数据源进行与数据库的连接
类型2驱动程序:通过网络库与数据库进行连接的纯Java驱动程序
类型3驱动程序:通过中间件服务器与数据库建立连接的驱动程序
类型4驱动程序:直接与数据库相连的纯Java驱动程序
主要接口
JDBC是一个java应用程序与数据库管理系统进行交互的标准API,包含多个接口,还包含两个包:核心API(java.sql)和拓展的API(javax.sql)。应用程序通过核心API的接口实现数据库连接和数据处理,其主要接口如下:
java.sql.Driver,用于读取数据库驱动信息,提供连接方法,建立访问数据库所用的Connection对象
java.sql.DriverManager,负责管理Driver对象,连接数据库,具体工作包括注册驱动程序,获取连接,向数据库发送信息。
java.sql.Connection,连接java数据库和Java应用程序之间的主要对象。创建所有的Statement对象执行SQL语句。java.sql.Statement对象代表一个特定的容器,对一个特定的数据库执行SQL语句。
Java.sql.ResulSet,用于控制对一个特定语句的行数据的存取,也就是数据库中由记录或行组合成的集合。
结果集
连接数据库的基本过程
1 建立数据源 数据库的创建
2 引入java.sql包
3 加载驱动程序
下面我们用一个例子看一下
开发一个应用程序,程序运行过程中可以输入数据库服务器的IP、端口号、用户名、用户密码、连接的数据库名、表名,然后将表中的数据在控制台打印出来。
package com.tlh.shujuku; import java.sql.*; import java.util.Scanner; public class JDBCDemo { public static void main(String[] args) { // 初始化变量 // 从控制台得到想要的数据 Scanner sc = new Scanner(System.in); System.out.println("请输入用户名:"); String username = sc.nextLine(); String user = "username"; System.out.println("请输入密码(密码为空请直接按回车键):"); String pass = sc.nextLine(); System.out.println(); System.out.println("请输入ip:"); String ip = sc.nextLine(); System.out.println("请输入端口号:"); String Duankou = sc.nextLine(); System.out.println("请输入数据库名:"); String ShujukuName = sc.nextLine(); String url = "jdbc:mysql://" + ip + ":" + Duankou + "/" + ShujukuName; String driver = "com.mysql.jdbc.Driver"; System.out.println("请输入数据库表名:"); String tablename = sc.nextLine(); String sqlstr; Connection con = null; Statement stmt = null; ResultSet rs = null; try { //装载驱动程序 Class.forName(driver); //建立连接 con = DriverManager.getConnection(url, user, pass); //创建连接对象 Statement代表了一个特定的容器。对一个特定的数据库执行SQL语句 stmt = con.createStatement(); // sqlstr="insert into "+tablename+" values('2060','zdx',21)"; // stmt.executeUpdate(sqlstr); sqlstr = "select * from " + tablename; rs = stmt.executeQuery(sqlstr); //java.sql.ResultSet.getMetaData() 得到结果集的结构信息,比如字段数、字段名等 ResultSetMetaData rsmd = rs.getMetaData(); int j = 0; //rs.getMetaData().getColumnCount()取得列数 j = rsmd.getColumnCount(); for (int k = 0; k < j; k++) { // System.out.print(rsmd.getColumnName(k + 1)); System.out.print("\t\t"); } System.out.println("\n"); while (rs.next()) { for (int i = 0; i < j; i++) { System.out.print(rs.getString(i + 1)); System.out.print("\t"); } System.out.print("\n"); } } catch (ClassNotFoundException e1) { System.out.println("数据库驱动不存在"); System.out.println(e1.toString()); } catch (SQLException e2) { System.out.println("数据库异常"); System.out.println(e2.toString()); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (con != null) con.close(); } catch (SQLException e) { System.out.println(e.toString()); } } } }
相关推荐
### JDBC访问数据库及环境配置详解 #### 一、引言 JDBC(Java Database Connectivity)是一种用于执行SQL语句的标准Java API,它可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC...
### JDBC访问数据库的步骤与原理 #### JDBC简介 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了诸如...
这是使用jdbc访问数据库的方法,很好的,很详细的讲解了如何使用jdbc连接数据库
通过JDBC访问数据库~~入门必备应用操作
JDBC 访问数据库步骤 JDBC(Java Database Connectivity)是 Java 语言中用来访问数据库的 API,提供了一种标准的方式来连接和操作数据库。下面是 JDBC 访问数据库的步骤: 步骤 1:加载对应数据库驱动 在使用 ...
### JDBC访问数据库的优化策略详解 #### 一、引言 在现代企业级Java应用中,数据库访问扮演着至关重要的角色。数据库不仅是数据资源的中心,还是支撑前端应用高效运行的关键。通过Java Database Connectivity...
本教程将详细介绍如何使用Java JDBC访问数据库的全过程,包括连接数据库、执行SQL语句、处理结果集以及关闭资源。 首先,要使用JDBC,我们需要在Java项目中引入数据库驱动的jar包。对于不同的数据库(如MySQL、...
"Java Servlet 中使用 JDBC 访问数据库" Java Servlet 是一种服务器端的 Java 应用程序,用于处理 HTTP 请求和响应,而 JDBC(Java Database Connectivity)是 Java 语言中用来访问数据库的 API。现在,在 Servlet ...
《数据库系统概论》课程之实验八,通过JDBC访问数据库。本文件中包含实验报告一份,可运行代码一份与JDBC的驱动jar包。 程序实现了使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,...
"JSP中使用JDBC访问数据库" JSP(Java Server Pages)是一种动态网页技术,允许开发者在网页中嵌入Java代码,从而实现网页的动态化。在JSP中,经常需要访问数据库以获取或存储数据,而JDBC(Java Database ...
JDBC 访问数据库实验报告 本实验报告的主要目的是熟悉使用 JDBC 来进行数据库应用程序的设计,熟悉通过 JDBC 接口编程访问数据库并对数据库进行操作。实验中,我们使用 KingbaseES 数据库管理系统和 KingbaseES ...
【Java JDBC 访问数据库】 Java JDBC(Java Database Connectivity)是Java平台中用于与各种数据库进行交互的标准API。它允许Java应用程序通过Java代码操作数据库,实现了数据库操作的平台无关性。JDBC提供了一组...
### JDBC访问数据库步骤详解 #### 一、加载与注册驱动 在使用JDBC访问数据库之前,首先需要确保已经正确地加载并注册了相应的数据库驱动。这一步骤是JDBC访问数据库的基础。 - **获取JDBC驱动文件**:通过访问...
实验实现的功能,check.jsp页面连接数据库test,接收index.jsp页面的输入并根据输入情况在数据库中进行查询,若id和password都能通过查询,则转向welcome.jsp页面,显示“欢迎你,XXX!”的字样,其中XXX为用户name...
实验八的主题是“通过JDBC方式访问数据库”,这是数据库概论课程中的一项重要实践内容。JDBC(Java Database Connectivity)是Java语言中用于与各种数据库交互的一种标准接口,由Sun Microsystems开发并定义,现已...
### 实验7-通过JDBC访问数据库 #### 实验目的 - **理解数据库访问的基本原理:**通过本实验的学习,学生能够深入理解数据库存储的特点、数据库访问的基本概念和方法,尤其是掌握Java数据库连接(JDBC)的核心概念...
//创建访问数据库的对象 results=state.executeQuery(query); //查询并返回结果 } catch(SQLException e) { System.err.println("Data.executeQuery: " + e.getMessage()); } return results; ...
【使用JDBC访问数据库】 Java Database Connectivity (JDBC) 是Java平台中用于访问数据库的标准应用程序接口,它允许Java程序员通过Java代码与各种类型的数据库进行交互。在本实验中,我们将探讨如何使用JDBC来调用...
------------------------------------jdbc访问数据库无痕操作------------------------------------