201521123084 《Java程序设计》第14周学习总结
1. 本周学习总结
以你喜欢的方式(思维导图、OneNote或其他)归纳总结数据库相关内容。
answer:
2. 书面作业
1. MySQL数据库基本操作
1.1 建立数据库test、表students。然后将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
- 主键列名为id(非空、自增长),其他列名根据需要自己增加
answer:
1.2 在自己建立的数据库上执行常见SQL语句(截图)
answer:
查看表的结构:
查看数据库:
增:
删:
改:
2. 使用JDBC连接数据库与Statement
2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)
answer:
2.2 使用JDBC操作数据库主要包含哪几个步骤?
answer:
-
装载驱动;
-
建立connection;
-
发送statement;
-
获得返回结果;
-
关闭connection,释放资源;
流程图:
3. PreparedStatement与参数化查询
3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)。
answer:
3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。(使用方法executeBatch)
answer:
4. JDBCUtil与DAO
4.1 粘贴一段你认为比较有价值的代码,出现学号。
answer:
增:
删:
改:
查:
4.2 使用DAO模式访问数据库有什么好处?
answer:
- DAO使程序层次分明,把对数据库的操作都放在这一层,这样其他层的逻辑控制就变得清晰明了。
- 分层后DAO的代码维护与变更等也变得清晰可理解。
5.使用数据库改造购物车系统或者学生管理系统
5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前还未完成购物车系统,可编写基于数据库的学生管理系统。该系统包含对学生的增删改查,要求使用PreparedStatement进行参数化查询。
answer:
5.2 相比较使用文件,使用数据库来存储与管理数据有何不一样?
answer:
-
文件把数据组织成相互独立的数据文件,但整体来说并没有确切的结构,而数据库系统实现整体数据的结构化。
-
在文件系统中,数据占用存储空间大,容易造成数据的不一致,但是在数据库中,数据是面向整个系统,数据可以被多个用户、多个应用共享使用,减少了数据冗余。
-
文件系统中的文件是为某一特定应用服务的,当要修改数据的逻辑结构时,必须修改应用程序;数据库系统实现了数据的物理独立性和逻辑独立性,把数据的定义从程序中分离出去,减少了应用程序的维护和修改。
-
文件系统和数据库系统均可以长期保存数据,由数据管理软件管理数据,数据库系统是在文件系统基础上发展而来。
选做:6. 批量更新测试
数据库课程上,需要测试索引对查找的加速作用。然而在几百或几千的数据量上进行操作无法直观地体验到索引的加速作用。现希望编写一个程序,批量插入1000万条数据,且该数据中的某些字段的内容可以随机生成。
6.1 截图你的代码(出现学号)、统计运行时间
6.2 计算插入的速度到底有多快?(以条/秒、KB/秒两种方式计算)
选做:7. 事务处理
7.1 使用代码与运行结果证明你确实实现了事务处理功能。(粘贴一段你认为比较有价值的代码,出现学号)
7.2 你觉得什么时候需要使用事务处理?
answer:
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。
事务处理主要用于一些对操作过程的完整性比较高的程序。
比如银行系统,用户在转账的过程中程序出现错误,但是这个转账操作没有完成。那么这个操作就被退回。
选做 8. 数据库连接池
使用数据库连接池改写题目5
- 参考:实验任务书-题目4
- 数据连接池参考资料
3. 码云
码云代码提交记录
- 在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图