第14周 预习、实验与作业:Java JDBC编程

目录

1.回想“流与文件”章节,如何将一组对象存储到文件中?主要步骤是什么。

2.关系数据库中使用表存储数据。查询资料回答:表的设计应该遵循什么基本规范?如果要将Student对象(学号、姓名、年龄、分数、学院)存入数据库,要怎么设计表?设计几个表?

3.JDBC编程的一般步骤是哪些

4.Statement与PreparedStatement有何区别?

5.怎么将数据库中表的数据组装成一个对象


1.回想“流与文件”章节,如何将一组对象存储到文件中?主要步骤是什么。

  1. 创建一个File对象来表示要保存的文件
  2. 创建一个FileOutputStream对象来向文件写入数据
  3. 调用write()方法将数据写入文件
  4. 关闭FileOutputStream对象

2.关系数据库中使用表存储数据。查询资料回答:表的设计应该遵循什么基本规范?如果要将Student对象(学号、姓名、年龄、分数、学院)存入数据库,要怎么设计表?设计几个表?

规范:

  1. 定义主键:每个表应该定义一个主键,用于唯一标识表中的每条记录。主键可以是单个列或多个列的组合,它们必须具有唯一性和非空性
  2. 为表和列使用描述性且易于理解的名称,以便于代码的编写和维护。命名应遵循一致的约定,例如使用小写字母、下划线分隔单词等
  3. 根据查询的需求和数据访问模式,选择适当的列创建索引。索引可以提高查询性能,但过多或不正确使用索引可能会导致性能下降
  4. 在表之间建立关联关系时,使用外键来维护数据的完整性。外键用于确保引用其他表中存在的有效数据,并实现了表之间的关联

设计:

由于映射关系唯一,所以设计一个表

  1. 学号唯一:作为主键id 类型为Vachar()
  2. 姓名(name):存储学生的姓名。
  3. 年龄(age):存储学生的年龄。
  4. 分数(score):存储学生的分数。
  5. 学院(college):存储学生所在的学院

3.JDBC编程的一般步骤是哪些

  1. 导入JDBC相关的类和接口(例如,java.sql包中的类和接口)。
  2. 加载数据库驱动程序,并创建数据库连接。
  3. 创建一个Statement对象来执行SQL语句(或者使用预处理语句)。
  4. 执行SQL语句并获取结果,可以使用executeQuery()方法(查询操作)或executeUpdate()方法(更新操作)。
  5. 处理查询结果(如果有)并关闭Statement对象。
  6. 关闭数据库连接。

4.Statement与PreparedStatement有何区别?

  1. 预编译:PreparedStatement接口在创建时就会对SQL语句进行预编译,这意味着它将检查SQL语句的语法错误,并将其编译为可执行的查询计划。相比之下,Statement接口在执行SQL语句之前不会进行任何预编译操作。
  2. 参数绑定:PreparedStatement允许通过占位符(如?)来动态地绑定参数值到SQL语句中。这样可以有效地防止SQL注入攻击,并且可以方便地处理不同类型的参数。而Statement接口不支持参数绑定,需要手动将参数值直接拼接到SQL语句中。
  3. 执行效率:由于PreparedStatement在创建时已经预编译了SQL语句,所以在执行多次相同结构的SQL语句时,性能更高。因为数据库服务器可以重复使用已经编译好的查询计划。而Statement每次执行都需要进行SQL解析和编译,性能相对较低。
  4. 可读性:由于PreparedStatement使用占位符和参数绑定,使得SQL语句的可读性更高。而Statement直接将参数值拼接到SQL语句中,容易产生混乱和难以维护的代码。

5.怎么将数据库中表的数据组装成一个对象

  1. 创建一个与数据表对应的JavaBean类,即该类中的属性与数据表中的列一一对应。
  2. 在Java代码中执行SQL查询语句,获取结果集(ResultSet)对象
  3. 遍历ResultSet对象,将每一行数据转换成一个JavaBean对象,并将这些对象存入List中

你可能感兴趣的:(java,开发语言)