1. 本周学习总结
1.1以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。
2. 书面作业
1. MySQL数据库基本操作
-参考:实验任务书-题目1
建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
在自己建立的数据库上执行常见SQL语句(截图)
2. 使用JDBC连接数据库与Statement
-参考:实验任务书-题目2
2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)
2.2 使用JDBC操作数据库主要包含哪几个步骤?
- 加载jdbc驱动
- 获取连接
- 创建表达式
- 调用表达式方法来操作数据库
- 对返回结果进行处理
3. PreparedStatement与参数化查询
3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)
3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。(使用方法executeBatch)
参考:实验任务书-题目3
4. JDBCUtil与DAO
4.1 粘贴一段你认为比较有价值的代码,出现学号
参考参考代码写了个JDBCUtil
实现线程池 数据结构为线程安全的ArrayList
4.2 使用DAO模式访问数据库有什么好处?
将较为底层的数据库数据流管理代码封装起来,与叫高层的业务处理代码分开。管理上更为清晰,也更贴近面向对象的思想
5. 使用数据库改造购物车系统
5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。
使用了前面写的Util类
activate方法封装了注册及初始化连接池及等待队列
5.2 相比较使用文件驱,使用数据库存储与管理数据有何不一样?
其实很相似,无非是封装程度与内部数据结构的不同
在使用文件的时候,在有许多文件的情况下,我会人工地通过URL将文件排列成树状,然后通过程序中的查询语句定位某个文件,然后通过流读取类将其读取进程序
而数据库就是一个高度封装的以上的数据存储系统,在储存结构以及业务功能的算法上做了优化
二者相比,当然是数据库更容易使用,也更容易处理大规模的数据 ,然而相对的它对资源的消耗也更大
选做 8. 数据库连接池
这里就贴一下写的一个JDBC的工具类
见outline
基本上就是建立一个连接池,预先建立几个连接放在里面,当有获取连接请求的时候从池中寻找建立好的连接传送出去,而使用完毕后,不用关闭资源,只需要断开连接然后将它还给连接池,利用队列来管理池中连接的工作