201521123063 《Java程序设计》 第14周学习总结

1. 本周学习总结

1.1 以你喜欢的方式(思维导图、Onenote或其他)归纳总结多数据库相关内容。

2. 书面作业

1. MySQL数据库基本操作

1.1 建立数据库test、表students。然后将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)

  • 主键列名为id(非空、自增长),其他列名根据需要自己增加

1.2 在自己建立的数据库上执行常见SQL语句(截图)

2. 使用JDBC连接数据库与Statement

2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)

运行结果:

2.2 使用JDBC操作数据库主要包含哪几个步骤?

  • 参考:实验任务书-题目2
首先加载MySql的驱动程序
连接test数据库
处理连接中的SQL语句
得到结果集
最后可以进行数据的处理

3. PreparedStatement与参数化查询

3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)

关键代码:

运行结果:

3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。(使用方法executeBatch)

  • 参考:实验任务书-题目3
    关键代码:

运行结果:

结果分析:

从上图的运行结果可以看出,批量插入的运行速度大约是自动提交的2倍,批量提会快一点

4. JDBCUtil与DAO

4.1 粘贴一段你认为比较有价值的代码,出现学号。

关键代码:

运行结果:

4.2 使用DAO模式访问数据库有什么好处?

  • 参考:实验任务书-题目5
DAO(Database Access Object) 就是数据库访问接口
DAO模式相当于一个分层模式,将必要的驱动管理,连接数据库,释放资源等都划分清楚,层次分明,将数据控制层和逻辑控制层分离开,这样有利于项目开发时的功能划分和工作分配,增强了可维护性

5. 使用数据库改造购物车系统或者学生管理系统

5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前还未完成购物车系统,可编写基于数据库的学生管理系统。该系统包含对学生的增删改查,要求使用PreparedStatement进行参数化查询。

  • 登入的账号作为数据库shoop的表名

  • 将增加删除的商品更新到数据库

关键代码:

增加

删除

在数据库查找结果:

5.2 相比较使用文件,使用数据库来存储与管理数据有何不一样?

图形界面可使用JTable

选做:6. 批量更新测试

数据库课程上,需要测试索引对查找的加速作用。然而在几百或几千的数据量上进行操作无法直观地体验到索引的加速作用。现希望编写一个程序,批量插入1000万条数据,且该数据中的某些字段的内容可以随机生成。

6.1 截图你的代码(出现学号)、统计运行时间

此处代码与第三题类似,只是在数量上做了更改

运行时间:

6.2 计算插入的速度到底有多快?(以条/秒、KB/秒两种方式计算)

对应上题的运行时间

7. 选做:事务处理

7.1 使用代码与运行结果证明你确实实现了事务处理功能。(粘贴一段你认为比较有价值的代码,出现学号)

关键代码:

运行结果:

7.2 你觉得什么时候需要使用事务处理?

  • 参考:实验任务书-题目4
像7.1那样,对数据库操作进行统一的提交或回滚操作,金钱的转账,可能会出错,需要很强的安全性时,需要用到事物处理

3. 码云

3.1. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

posted @ 2017-05-28 20:31  Linyq  阅读(230)  评论(1编辑  收藏  举报