Java JDBC 实战:数据库查询与操作

3星 · 超过75%的资源 需积分: 17 45 下载量 111 浏览量 更新于2024-07-25 10 收藏 970KB DOC 举报
"JAVA-JDBC连接数据库(查询_添加_修改_删除)" 在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库交互的一组API,它允许开发者使用Java语言来执行SQL语句,从而实现对数据库的操作,如查询、添加、修改和删除数据。在Java-JDBC连接数据库的过程中,通常遵循以下步骤: 1. **加载JDBC驱动**:首先,我们需要通过`Class.forName()`方法加载对应的JDBC驱动。例如,对于MySQL,我们会加载`com.mysql.jdbc.Driver`。这使得Java虚拟机能够识别并使用特定数据库的驱动。 2. **建立数据库连接**:使用`DriverManager.getConnection()`方法建立与数据库的连接。该方法通常需要数据库URL、用户名和密码作为参数,例如:`DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password")`。 3. **创建Statement对象**:有了连接后,我们创建`Statement`对象,它可以用来执行SQL语句。比如:`Statement stmt = conn.createStatement();` 4. **执行SQL命令**:通过`Statement`对象,我们可以执行SQL查询或操作。例如,`ResultSet rs = stmt.executeQuery("SELECT * FROM mytable");`用于执行查询语句。 5. **处理结果集**:`ResultSet`对象代表了查询的结果。我们可以通过调用`ResultSet.next()`来遍历每一行数据,然后使用`.getXXX()`方法(如`.getString()`, `.getInt()`等)获取列的值。 6. **关闭连接和释放资源**:在完成所有数据库操作后,必须关闭`ResultSet`、`Statement`和`Connection`,以释放系统资源,防止内存泄漏。通常使用`close()`方法进行关闭。 实验内容要求学生利用JDBC开发图形界面程序,例如图书管理系统,这涉及数据库设计,包括定义表结构、字段类型、主键和外键等。在实验过程中,首先可以基于字符界面进行测试,熟悉JDBC API,然后过渡到图形界面。 实验中提到了ODBC数据源的配置,这是在Windows系统下的一种数据库连接方式,通过ODBC Data Source Administrator设置数据源,使得Java程序可以通过JDBC-ODBC Bridge与数据库连接。 实验步骤包括在数据库(如Access或SQL Server)中创建表,配置ODBC数据源,然后编写Java GUI应用,使用`JDBC-ODBC Bridge`进行数据访问。最后,展示了程序运行时的几个关键界面,包括主界面、数据录入、查询、判断和删除功能。 通过这个实验,学生能够深入理解JDBC的工作机制,熟练掌握Java SQL包中的类和方法,以及如何在实际项目中使用它们来构建功能丰富的数据库应用程序。
2011-10-10 上传
SqlHelper.java连接数据库通用类... package org.jdbc.com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SqlHelper { /** * 设置单例 */ public static SqlHelper instance = new SqlHelper(); /** * 设置单例的一个实例方法 * * @return */ public static SqlHelper getInstance() { if (instance == null) { synchronized (SqlHelper.class) { instance = new SqlHelper(); } } return instance; } /** * 得到MySql连接 * * @return */ public static Connection getMySqlConnection() { Connection conn = null; String url = "jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=utf-8"; String user = "root"; String password = "root"; String driver="com.mysql.jdbc.Driver"; try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /** * 得到MMSQL连接 * @return */ public static Connection getMMSQLConnection() { String url = "jdbc:sqlserver://localhost:1433;DatabaseName=jdbc"; String user = "sa"; String password = "sa"; String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; Connection conn = null; try { Class.forName(Driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /** * 得到Oracle连接 * @return */ public static Connection getOracleConnection() { String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String user = "scott"; String password = "scott"; String Driver="oracle.jdbc.driver.OracleDriver"; Connection conn = null; try { Class.forName(Driver); conn = DriverManager.getConnection(url, user, password); } catch (Exception e) { System.out.println("连接数据库出现异常" + e.getMessage()); } return conn; } /*** * 释放资源... * * @param rs * @param st * @param conn */ public static void Relesae(ResultSet rs, Statement st, Connection conn) { try { if (rs != null) rs.