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

JDBC操作数据库基本步骤

程序员文章站 2022-07-12 11:14:43
...

1、JDBC概念

    1)从物理结构:JDBC是Java语言访问数据库的一套接口(API)集合。

    2)从本质上:JDBC是调用者(开发人员)和实现者(数据库厂商)之间的协议。

    3)JDBC的实现由数据库厂商以驱动程序的形式提供。

    4)开发人员借助JDBC的API,就可以使用纯Java的方式来连接和操纵数据库。 

 

2、JDBC常用接口和类简介

    1)java.sql.Driver 接口: 代表驱动程序,每个驱动程序类必须实现的接口。

    2)java.sql.DriverManager 类:驱动程序管理类,管理一组 JDBC 驱动程序的基本服务。

    3)java.sql.Connection 接口:数据库连接,用于与特定的数据库连接。

    4)java.sql.Statement  接口:数据库操作接口,用于执行静态SQL语句并返回它所生成结果的对象。

    5)java.sql.PreparedStatement接口:数据库操作接口,表示保存预编译SQL语句的对象,用于多次高效地执行该SQL语句。

    6)java.sql.CallableStatement接口:数据库操作接口,用于执行SQL存储过程的接口。

    7)java.sql.ResultSet 接口: 代表结果集的数据表,用于保存查询数据库返回的结果。 

 

3、基本操作步骤如下:

 

    1)加载(注册)数据库驱动(到JVM)。

    2)建立(获取)数据库连接。

    3)创建(获取)数据库操作对象。

    4)定义操作的SQL语句。

    5)执行数据库操作。

    6)获取并操作结果集

    7)回收数据库资源(关闭结果集-->关闭数据库操作对象-->关闭连接)

 

 4、实例参考(以MySQL为例)

 

package com.linwei.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {
	/**
	 * 使用JDBC连接并操作mysql数据库
	 */
	public static void main(String[] args) {
		// 数据库驱动类名的字符串
		String driver = "com.mysql.jdbc.Driver";
		// 数据库连接串
		String url = "jdbc:mysql://127.0.0.1:3306/jdbctest";
		// 用户名
		String username = "root";
		// 密码
		String password = "mysqladmin";
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			// 1、加载数据库驱动( 成功加载后,会将Driver类的实例注册到DriverManager类中)
			Class.forName(driver );
			// 2、获取数据库连接
			conn = DriverManager.getConnection(url, username, password);
			// 3、获取数据库操作对象
			stmt = conn.createStatement();
			// 4、定义操作的SQL语句
			String sql = "select * from user where id = 100";
			// 5、执行数据库操作
			rs = stmt.executeQuery(sql);
			// 6、获取并操作结果集
			while (rs.next()) {
				System.out.println(rs.getInt("id"));
				System.out.println(rs.getString("name"));
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			// 7、关闭对象,回收数据库资源
			if (rs != null) { //关闭结果集对象
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (stmt != null) { // 关闭数据库操作对象
				try {
					stmt.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (conn != null) { // 关闭数据库连接对象
				try {
					if (!conn.isClosed()) {
						conn.close();
					}
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}
}