第14周 预习、实验与作业:Java数据库编程

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

将对象序列化,通过流的方式储存到文件中。例如字节流和字符流,二进制文件存储可以通过字节流读写,文本文件存储可以通过字符流读写。

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

1.表的设计基本规范 遵循三范式
第一范式:1NF,数据字段设计时必须满足原子性。1NF要求字段数据是不需要拆分就可以直接应用。
第二范式:2NF,字段设计不能存在部分依赖。
第三范式:所有非主键字段和主键字段之间不能产生传递依赖。

2.如果要将Student对象(学号、姓名、年龄、分数、学院)存入数据库,需要设计两个表,一个表是学号、姓名、年龄、学院,另一个表是分数。

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

1、加载数据库驱动。 通常使用Class类的forName()静态方法来加载驱动。
2、通过数据库驱动管理器(DriverManager)获取数据库连接。 使用DriverManager获取数据库连接时,需要传入3个参数:数据库URL、登陆数据库的用户名和密码。
3、通过Connection对象创建Statement对象。
4、使用Statement执行SQL语句。
5、操作结果集。 若执行的SQL语句是查询语句,则执行结果将返回一个ResultSet对象,该对象里保存了SQL查询结果。
6、回收数据库资源。

4、Statement与PreparedStatement有何区别?

联系:
1、PreparedStatement继承自Statement
2、PrerapedStatement和Statement都是接口
3、PreParedStatement和Statement都可以实现对数据表的CRUD操作:增删改查

区别:
1、PreparedStatement在使用时只需要编译一次,就可以运行多次,Statement每运行一次就编译一次,所以PreparedStatement的效率更高。
2、PreparedStatement需要的SQL语句为用?(占位符)来替换值,Statement所需要的SQL语句为字符串拼接。
3、PreparedStatement解决了SQL注入的问题。PreparedStatement有一个预编译的过程,就算传入占位符的数据中有SQL关键字也都被认为是值。而Statement没有解决是因为Statement所需要的是字符串拼接,传入的整个字符串被默认为SQL语句,如果用户手动拼接了字符串,那么会导致语句的改变。

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

在Java中写一个类,类的属性对应相应的数据,使用JDBC查询后,通过Set方法将对应数据的值设置到对应属性中,数据就变成一个对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值