201621123030《Java程序设计》第14周学习总结
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容。
3. 代码量统计
3.1 统计本周完成的代码量
需要将每周的代码统计情况融合到一张表中。
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
2 | 330 | 330 | 5 | 5 |
3 | 625 | 322 | 11 | 6 |
4 | 1047 | 442 | 16 | 5 |
6 | 1978 | 425 | 21 | 5 |
7 | 2643 | 506 | 27 | 6 |
8 | 3341 | 798 | 39 | 8 |
9 | 4003 | 662 | 49 | 10 |
10 | 4556 | 553 | 60 | 11 |
11 | 5219 | 663 | 65 | 5 |
12 | 5915 | 696 | 71 | 6 |
13 | 6629 | 714 | 79 | 8 |
14 | 7343 | 746 | 92 | 13 |
选做:4. 数据库学习指导
1. MySQL数据库基本操作
建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
在自己建立的数据库上执行常见SQL语句(自己完成,不必截图)
2. 使用JDBC连接数据库与Statement
2.1 使用Statement操作数据库。完成实验任务书-题目2。截图其中的public static void displayAll()
与public static int insert(Student stu)
的关键代码并出现自己的学号。
2.2 如果要完成根据指定姓名查询学生数据,即完成函数public Student findStuByName(String name)
,其中的sql语句怎么写?
sql语句就是select *from student where name = 'ye'
2.3 你认为使用JDBC操作数据库的套路是什么?
- 装载JDBQ驱动
- 建立数据库连接(Connection)
- 编写SQL语句(Statement)
- 然后获得结果集(ResultSet)
- 进行结果集处理
- 关闭JDBC,释放资源
3. PreparedStatement与参数化查询
3.1 使用PreparedStatement,编写public Student findStuByName(String name)
,实现根据name进行查找, 。(粘贴关键代码及运行截图,运行截图中需出现学号,比较2.2,说明两种实现的不同)
3.2 如果要实现模糊查找,怎么修改?比如编写public List<Student> findStusByName(String name)
,可根据name进行模糊匹配,如将姓名中包含zhang
的同学都找出来。
4. 批量更新测试
数据库课程上,需要测试索引对查找的加速作用。然而在几百或几千的数据量上进行操作无法直观地体验到索引的加速作用。现希望编写一个程序,批量插入10万条数据,且该数据中的某些字段的内容可以随机生成。
4.1 截图你的代码(出现学号)、统计运行时间(使用JUint4测试,需要出现时间对比截图)。
5. JDBCUtil与DAO
5.1 完成试验任务-题目5中的第4小点,即编写StudentDao
接口及其实现类StudentDaoJDBCImpl
。
5.2 使用DAO模式访问数据库有什么好处?请使用4.1的代码说明,需对比传统的模式与使用DAO模式访问数据库的代码。
- 建立Dao接口,就可以实现面向接口编程,能有不一样的实现类。