作业14-数据库

标签(空格分隔): Java


1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容。


2. 使用数据库技术改造你的系统

2.1 简述如何使用数据库技术改造你的系统。要建立什么表?截图你的表设计。

2.2 系统中使用到了JDBC中什么关键类?

2.3 截图数据库相关模块的关键代码。关键行需要加注释。

2.4 选做:使用JDBCUtil进行改造系统。

2.5 选做:使用数据库连接池技术改造系统。

2.6 选做:使用事务改造系统


3. 代码量统计

3.1 统计本周完成的代码量

需要将每周的代码统计情况融合到一张表中。


选做:4. 数据库学习指导

1. MySQL数据库基本操作

建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)
在自己建立的数据库上执行常见SQL语句(自己完成,不必截图)

答:
主键为id,且非空自己增长

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语句怎么写?

答:

String sql="select *from student where name = " + "'" + name + "'";

2.3 你认为使用JDBC操作数据库的套路是什么?

答:

**- 装载JDBC驱动程序(dbc 4.0不再需要手动加载)

  • 获得JDBC连接的URL
  • 与数据库建立连接(Connection)
  • 向数据库发送SQL语句(statement)
  • 执行SQL语句
  • 获得和处理查询或更新语句返回的结果集
  • 关闭连接,释放资源**

3. PreparedStatement与参数化查询

3.1 使用PreparedStatement,编写public Student findStuByName(String name),实现根据name进行查找, 。(粘贴关键代码及运行截图,运行截图中需出现学号,比较2.2,说明两种实现的不同)

关键代码:

运行结果:

3.2 如果要实现模糊查找,怎么修改?比如编写public List findStusByName(String name),可根据name进行模糊匹配,如将姓名中包含zhang的同学都找出来。

关键代码:

运行结果:


4. 批量更新测试

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

4.1 截图你的代码(出现学号)、统计运行时间(使用JUint4测试,需要出现时间对比截图)。

4.2 选做:计算插入的速度到底有多快?(以条/秒或MB/秒两种方式计算)。并测试你电脑上磁盘的磁盘读写性能,然后进行对比。

  1. JDBCUtil与DAO

5.1 完成试验任务-题目5中的第4小点,即编写StudentDao接口及其实现类StudentDaoJDBCImpl。
5.2 使用DAO模式访问数据库有什么好处?请使用4.1的代码说明,需对比传统的模式与使用DAO模式访问数据库的代码。
5.3 使用JDBCUtil改造题目3.1。

参考:实验任务书-题目5

  1. 事务处理

6.1 使用代码与运行结果证明你确实实现了事务处理功能,并说明事务处理时在编码时需要注意哪些?注意:要比较运行成功与运行失败两种情况下对数据库的更改情况。(粘贴一段你认为比较有价值的代码,出现学号)

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

201621123037 《Java程序设计》第14周学习总结的更多相关文章

  1. 2018面向对象程序设计(Java)第14周学习指导及要求

    2018面向对象程序设计(Java)第14周学习指导及要求(2018.11.29-2018.12.2)   学习目标 (1) 掌握GUI布局管理器用法: (2) 掌握各类Java Swing组件用途及 ...

  2. 面向对象程序设计(JAVA) 第14周学习指导及要求

    2019面向对象程序设计(Java)第14周学习指导及要求 (2019.11.29-2019.12.2)   学习目标 (1)掌握GUI布局管理器用法: (2)掌握Java Swing文本输入组件用途 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 201521123038 《Java程序设计》 第九周学习总结

    201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...

  6. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  7. 20175221 2018-2019-2 《Java程序设计》第一周学习总结

    20175221 2018-2019-2 <Java程序设计>第一周学习总结 教材学习内容总结 本周通过观看书本配套视频,学到了如解释器,编译器等一些简单概念. 还懂得了java的一些简单 ...

  8. 20175314 《Java程序设计》第九周学习总结

    20175314 <Java程序设计>第九周学习总结 教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解 MySQL客户端管理工具(如 ...

  9. 20175314 《Java程序设计》第二周学习总结

    20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...

  10. 20155312 2016-2017-2 《Java程序设计》第九周学习总结

    20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...

随机推荐

  1. Python学习笔记十一:模块

    标准库(内置模块) time与datetime 模块 时间表示方式 1.时间戳 2.格式化的字符串 3.元组形式 时间戳就是一个秒数 x=time.time(),从1970年1月1日0时0分0秒到现在 ...

  2. libcurl编译及使用

    环境: libcurl版本:7.54.1 VS:Visual Studio 2013 一.编译 1.下载最新版的libcurl(curl-7.54.1.zip)(地址:https://curl.hax ...

  3. excel中CTRL+E的用法

    偶然发现excel中CTRL+E有按照例子填充的功能. 结果如下

  4. 关于Oracle分区表的理解

    Oracle分区表首要目的是用于管理数据文件,对数据文件进行划分和管理.但常常会听到通过分区表来提高性能的说法,实际上,分区表结合索引,加上有效的SQL语句,确实可以提高性能.什么是有效的SQL呢,就 ...

  5. 20155315 2016-2017-2 《Java程序设计》第十周学习总结

    学习目标 了解计算机网络基础 掌握Java Socket编程 理解混合密码系统 掌握Java 密码技术相关API的使用 学习资源 Java和Android开发学习指南(第二版)(EPUBIT,,Jav ...

  6. day 11 名片管理系统

    1 思路 #名片1 名片2 {"name":"alex","age":18,"QQ":12123} {"nam ...

  7. Drupal7重置密码方法

    Drupal版本 7.40 方法1: 根目录index.php添加 require_once 'includes/password.inc'; require_once 'includes/boots ...

  8. 【JUC源码解析】CyclicBarrier

    简介 CyclicBarrier,一个同步器,允许多个线程相互等待,直到达到一个公共屏障点. 概述 CyclicBarrier支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后 ...

  9. [深度学习] 使用Darknet YOLO 模型破解中文验证码点击识别

    内容 背景 准备 实践 结果 总结 引用 背景 老规矩,先上代码吧 代码所在: https://github.com/BruceDone/darknet_demo 最近在做深度学习相关的项目的时候,了 ...

  10. Git操作指令

    1.创建版本库 git init 2.把工作区修改过的文件添加到版本库暂存区,点号表示当前目录下所有文件; git add .#查看仓库状态git status 3.把版本库暂存区的文件提交到当前分支 ...