第7章上 Java数据库连接(JDBC)_图文.ppt
- 格式:ppt
- 大小:3.24 MB
- 文档页数:45


jdbc 概述和作用JDBC(Java Database Connectivity)是Java语言访问关系型数据库的标准API。
通过JDBC,Java程序可以连接、查询和操作各种数据库,如Oracle、MySQL、SQL Server等。
本文将对JDBC 的概述和作用进行详细介绍。
一、概述JDBC是Java平台上与数据库交互的重要组件,它提供了一套标准的接口和方法,使得Java程序能够通过统一的方式与不同的数据库进行通信。
JDBC是一种面向关系型数据库的API,为Java程序员提供了一种方便、安全和高效的方式来处理数据库操作。
JDBC的核心组件包括驱动程序管理器、数据库驱动程序、连接管理器和语句执行器等。
驱动程序管理器负责加载并管理数据库驱动程序,数据库驱动程序是具体数据库厂商提供的实现JDBC接口的类库,连接管理器负责管理数据库连接,语句执行器则用于执行SQL语句并获取结果。
二、作用1. 数据库连接JDBC提供了一种与数据库建立连接的方式,它允许Java程序通过指定数据库的URL、用户名和密码等信息来连接数据库。
通过JDBC连接数据库,Java程序可以执行各种数据库操作,如查询数据、更新数据、插入数据等。
数据库连接是JDBC的基础,也是Java程序与数据库进行交互的起点。
2. 数据库查询JDBC提供了一套统一的接口和方法来执行SQL查询语句,Java程序可以通过JDBC接口向数据库发送查询请求,并获取查询结果。
查询结果可以是一个ResultSet对象,其中包含了查询返回的数据。
Java程序可以通过ResultSet对象来遍历查询结果,并对结果进行处理和展示。
3. 数据库更新除了查询,JDBC还提供了一套接口和方法来执行数据库的更新操作,如插入、更新和删除数据。
Java程序可以使用JDBC接口构建SQL语句,并通过JDBC执行器来执行SQL语句,并获取更新结果。
数据库更新是JDBC的重要功能之一,它使得Java程序能够方便地对数据库进行增删改操作。
Java_JDBC连接数据库_使⽤读取配置⽂件的⽅式 1package com.homewoek3_4.dao;23import java.io.IOException;4import java.io.InputStream;5import java.sql.Connection;6import java.sql.DriverManager;7import java.sql.PreparedStatement;8import java.sql.ResultSet;9import java.sql.SQLException;10import java.util.Properties;1112/**13 * 数据库连接通⽤类14 * @author Administrator15*/16public abstract class BaseDao {17private static final String path = "database.properties";18private static String DB_DRIVER;19private static String DB_URL;20private static String DB_USER;21private static String DB_PWD;2223protected Connection conn = null;24protected PreparedStatement ps = null;25protected ResultSet rs = null;2627static {28 Properties pro = new Properties();29 InputStream io = BaseDao.class.getClassLoader().getResourceAsStream(path);30try {31//读取配置⽂件32 pro.load(io);33 } catch (IOException e) {34 e.printStackTrace();35 }36 DB_DRIVER = pro.getProperty("DB_DRIVER");37 DB_URL = pro.getProperty("DB_URL");38 DB_USER = pro.getProperty("DB_USER");39 DB_PWD = pro.getProperty("DB_PWD");40try {41//加载驱动类42 Class.forName(DB_DRIVER);43 } catch (ClassNotFoundException e) {44 e.printStackTrace();45 }46 }47/**48 * 打开数据库连接49*/50protected void openConn() {51try {52 conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PWD);53 } catch (SQLException e) {54 e.printStackTrace();55 }56 }57/**58 * 关闭数据库连接59*/60protected void closeConn() {61try {62if (rs != null) {63 rs.close();64 }65if (ps != null) {66 ps.close();67 }68if (conn != null) {69 conn.close();70 }71 } catch (SQLException e) {72 e.printStackTrace();73 }74 }75/**76 * 增删改77 * @param sql78 * @param obj79 * @return80*/81protected int executeUpdate(String sql, Object...obj) {82int result = -1;83this.openConn();84try {85 ps = conn.prepareStatement(sql);86if (obj != null) {87for (int i = 0; i < obj.length; i++) {88 ps.setObject(i+1, obj[i]);89 }90 }91 result = ps.executeUpdate();92 } catch (SQLException e) {93 e.printStackTrace();94 }95return result;96 }97/**98 * 查询99 * @param sql100 * @param obj101 * @return102*/103protected void executeQuery(String sql, Object...obj) {104this.openConn();105try {106 ps = conn.prepareStatement(sql);107if (obj != null) {108for (int i = 0; i < obj.length; i++) {109 ps.setObject(i+1, obj[i]);110 }111 }112 rs = ps.executeQuery();113 } catch (SQLException e) {114 e.printStackTrace();115 }116 }117 }创建database.properties⽂件,注意:后缀名⼀定是properties。