1. 本周学习总结
以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容。
1. 在使用命令执行框时一定要记住大小写的区分;
2. 数据库中表的数据删除后id还是继续自增的,目前只会使用"drop table student"删除表数据再重新输入数据,比较麻烦;
3. String strSql = "insert into students(stuno,name,gender) values(?,?,?)";
pStatement.setString(1, "2015098");
pStatement.setString(2, "孙慧君");
pStatement.setString(3, "f");
中"?"为占位符,下面的括弧中1.2.3代表的是第1.2.3个占位符所需要设置的数据。
2. 书面作业
1. MySQL数据库基本操作
-
建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
在自己建立的数据库上执行常见SQL语句(截图)
2. 使用JDBC连接数据库与Statement
2.1 使用Statement操作数据库。(粘贴一段你认为比较有价值的代码,出现学号)
-
2.2 使用JDBC操作数据库主要包含哪几个步骤?
加载找到驱动程序
->登陆驱动管理器
->获得的数据库链接
->创建数据库操作对象
->定义操作语句
->执行数据库的操作
->获取操作后返回的结果
->关闭所调用的资料
3. PreparedStatement与参数化查询
3.1 使用PreparedStatement根据用户指定的查询条件进行查询。(粘贴一段你认为比较有价值的代码,出现学号)
3.2 批量更新-批量插入1000个学生,统计整个操作所消耗的时间。(使用方法executeBatch)
4. JDBCUtil与DAO
4.1 粘贴一段你认为比较有价值的代码,出现学号
-
4.2 使用DAO模式访问数据库有什么好处?
DAO模式将各个层的代码都分开了,条例清晰,分工明确,一旦出现了问题,可以分开调试方便维护,用DAO模式访问数据库,他就只管访问数据库并进行和数据库的交互,不关注业务逻辑。
5. 使用数据库改造购物车系统
5.1 使用数据库改造以前的购物车系统(应有图形界面)。如果以前为完成购物车系统,可编写基于数据库的学生管理系统。包括对学生的增删改查,要求使用。
-
5.2 相比较使用文件,使用数据库存储与管理数据有何不一样?
文件:使用文件时往往需要人为的进行排版,安排格式,以方便修改和读取;
数据库:使用数据库时,系统会自行建立一个"电脑能分清楚的"结构来存储,只需要输入存储位置来进行增删改查,相比之下更有利于进行大规模数据的处理。
选做:6. 批量更新测试
数据库课程上,需要测试索引对查找的加速作用。然而在几百或几千的数据量上进行操作无法直观地体验到索引的加速作用。现希望编写一个程序,批量插入1000万条数据,且该数据中的某些字段的内容可以随机生成。
-
6.1 截图你的代码(出现学号)、统计运行时间
已经过去五分钟了,我表示放弃。
6.2 计算插入的速度到底有多快?(以条/秒、KB/秒两种方式计算)
选做:7. 事务处理
- 7.1 使用代码与运行结果证明你确实实现了事务处理功能。(粘贴一段你认为比较有价值的代码,出现学号)
- 7.2 你觉得什么时候需要使用事务处理?
选做 8. 数据库连接池
- 使用数据库连接池改写题目5
3. 码云
3.1. 码云代码提交记录
-
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
-
4.课外阅读
4.1 JDBC(TM) Database Access
-
4.2 代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分
- 好的代码要求:保持单一职责,是通用的,有明确定义的
- Model(模型)是一个纯数据的集合,用于传送并操作的数据团。
- 文章:一般叫Article,包括Title,Summary,Author,Content等等。
- 评论:一般叫Comment,包括Content,userID等等。
- Util(工具):描述和业务逻辑没有关系的数据处理,一般来说,就是一个明确的输入和一个明确的输出结果。
- 通常命名也是ArticleUtil,CommentUtil之类的。
- Service(服务):提供一个服务。这个服务可能包括一系列的数据处理,一般而言,都是包含有业务逻辑的,很少能做单元测试。
- Dao:Dao一般而言,都是用来和底层数据库通信,负责对数据库的增删改查(只关心。入库,出库,查询和更换)。
- Controller:控制中心,所有的指令,调度都从这里发出去。 4.3 mysq数据库管理工具navicat基本使用方法