Java数据库编程实践:JDBC连接与操作示例

需积分: 50 1 下载量 144 浏览量 更新于2024-10-02 收藏 280KB DOC 举报
"本章介绍了如何使用Java进行数据库编程,特别是通过JDBC连接和操作数据库。首先,展示了创建一个名为‘xsgl’的学生管理数据库的SQL语句,包括定义数据文件和日志文件的位置、大小及增长策略。然后,逐步创建了多个表,如专业表、用户表、班级分类表、课程表和学生档案表,每个表都有其特定的字段和约束,如主键、唯一性等。最后提到了学生成绩表的创建,涉及外键关联到学生档案表和课程表。" 在Java数据库编程中,JDBC(Java Database Connectivity)是核心工具,它允许Java应用程序与各种数据库进行交互。要使用JDBC连接数据库,你需要遵循以下步骤: 1. **加载驱动**:在Java程序中,首先需要加载对应的数据库驱动,通常通过`Class.forName()`方法来实现。例如,对于MySQL,你会加载`com.mysql.jdbc.Driver`。 2. **获取连接**:使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码来获取数据库连接。数据库URL通常包含数据库类型、主机名、端口号以及数据库名称。 3. **创建Statement或PreparedStatement**:通过`Connection`对象创建`Statement`或`PreparedStatement`,用于执行SQL语句。`PreparedStatement`更安全,因为它支持预编译,可以防止SQL注入攻击。 4. **执行SQL**:使用`executeQuery()`或`executeUpdate()`方法执行查询或修改操作。`executeQuery()`用于SELECT语句,返回`ResultSet`;`executeUpdate()`用于INSERT、UPDATE、DELETE语句,返回受影响的行数。 5. **处理结果集**:如果执行的是查询,需要遍历`ResultSet`来获取结果。通过调用`next()`方法移动到下一行,然后通过字段索引或名称获取数据。 6. **关闭资源**:在完成操作后,记得关闭`ResultSet`、`Statement`和`Connection`,以释放数据库资源。 在上述创建的数据库中,每个表都有其特定的功能: - **speciality表**:存储专业信息,`specialityID`为主键。 - **usertable**:存储用户信息,`uid`为主键,`uname`和`upwd`分别代表用户名和密码。 - **classclass表**:表示班级分类,`id`为主键,`parent`表示父级分类,`name`为类别名称。 - **course表**:记录课程信息,`courseID`为主键,`courseName`为课程名称。 - **xsda表**:学生档案,`no`为主键,`classID`引用`classclass`的`id`,`speciality`字段可选,表示专业。 - **grade表**:学生成绩,`no`引用`xsda`的`no`,`courseId`引用`course`的`courseID`。 在实际应用中,这些表可以通过JDBC进行插入、删除、更新和查询操作,实现对数据库中的数据进行管理,例如添加新的学生、更新成绩、删除用户等。同时,为了优化性能和安全性,还需要考虑事务管理、错误处理、连接池的使用以及参数绑定等高级特性。