1. 本周学习总结

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

  • Mysql数据库简单操作,常用的操作命令

    1. 启动:进入Mysql (从命令行mysql -u root -p)
    2. 退出:quit或exit
    3. 显示所有数据库:show databases
    4. 创建数据库:creat database test
    5. 删除数据库:drop database test
    6. 连接数据库:use test(使用前要先连接数据库)
    7. 查看当前连接色数据库:select database()
    8. 当前数据库包含的表:show tables
  • JDBC的工作原理
    1. JDBC API 提供程序员调用的接口和类
    2. JDBC 驱动 负责连接各种不同的数据库
  • 当JDBC与数据库交互时发生错误会抛出SQLException,该异常可以知道:
    1. 错误的描述
    2. SQL状态码
    3. 错误码
    4. 原因
  • 释放资源顺序按照:ResultSet->Statement->Connection
  • PreparedStatement接口继承自Statement,当SQL语句运行多次时,使用PreparedStatement可以提高运行效率
  • 事务处理:希望一条语句只有当另一个语句执行完才生效

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

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

Answer: 要将所有的操作转变为在数据库中操作例如:

1. 向购物车中增加货品
2. 将货品从购物车中删除
3. 改变货品的购买数量
4. 展示购物车状态
  • 需要建立一个购物车信息表,截图如下:

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

Answer:

  • DriverManager:加载驱动,建立连接
  • Connection:与数据库建立连接
  • Statement:处理连接中的SQL语句
  • ResultSet:处理结果集

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

  • 对数据库进行增删查

3. 代码量统计

3.1 统计本周完成的代码量

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

周次 总代码量 新增代码量 总文件数 新增文件数
1 374 374 5 5
2 889 515 15 10
3 1417 528 22 7
4 1838 421 27 5
6 2608 770 38 11
7 3270 662 48 10
8 4068 798 52 4
9 4543 475 60 8
10 4988 445 65 5
11 5421 433 72 7
12 6327 906 88 16
13 6737 410 96 7
14 7406 669 105 9
15 8048 643 115 10

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

1. MySQL数据库基本操作

建立数据库,将自己的姓名、学号作为一条记录插入。(截图,需出现自己的学号、姓名)

在自己建立的数据库上执行常见SQL语句(自己完成,不必截图)

2. 使用JDBC连接数据库与Statement

2.1 使用Statement操作数据库。完成实验任务书-题目2。截图其中的public static void displayAll()public static int insert(Student stu)的关键代码并出现自己的学号。

  • public static void displayAll()

  • 运行截图

  • public static int insert(Student stu)

  • 运行截图

2.2 如果要完成根据指定姓名查询学生数据,即完成函数public Student findStuByName(String name),其中的sql语句怎么写?

Answer: sql语句select *from student where name = 'zhang'

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

Answer:

  • 先加载驱动
  • 与数据库建立连接
  • 获取操作的对象
  • 定义操作的sql语句
  • 执行操作获取结果集
  • 关闭结果集
  • 关闭数据库操作
  • 关闭数据库连接

3. PreparedStatement与参数化查询

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

  • 关键代码及运行截图

  • 不同:PreparedStatement实现了预编译,并可以重复使用,但是Statement只能执行一次性的。

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

6. 事务处理

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

Answer: 事务处理要求在编码时要注意对数据库的操作要在一个结束了再执行另外一个开始。

  • 成功:

-失败:

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

Answer:就是当存在一系列数据库的操作时,比如这个转账功能,需要更改两个账户的数据,但是如果一方失败则整个操作都失败,是一个统一提交的过程,为了避免数据库乱掉就需要使用数据处理。

201621123001 《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. 20165327 2017-2018-2 《Java程序设计》第9周学习总结

    20165327 2017-2018-2 <Java程序设计>第9周学习总结 教材内容总结 第十三章 (一)教材学习内容总结 理解 URL类是对统一资源定位符的抽象,使用URL创建对象的应 ...

  2. MySQL数据库索引之B+树

    一.B+树是什么 B+ 树是一种树型数据结构,通常用于数据库和操作系统的文件系统中.B+ 树的特点是能够保持数据稳定有序,其插入与修改操作拥有较稳定的对数时间复杂度.B+ 树元素自底向上插入,这与二叉 ...

  3. PHP个人博客项目------切切歆语博客

    php+mysql+apache, ThinkPHP3.2框架开发 我的个人博客项目 适合新手练习 源码地址下载:https://github.com/DickyQie/php-myblog

  4. Confluence 6 可以自定义的元素

    色彩配色方案允许你对 UI 中的元素色彩进行编辑,包括顶部条,标签页和背景色. 有一些下面的 UI 元素被用在特定的主题中,配色方案的修改可能不会对这些元素有效. 顶部条(Top Bar)—— 顶部导 ...

  5. Remove Duplicates From Sorted Array leetcode java

    算法描述: Given a sorted array, remove the duplicates in place such that each element appear only once a ...

  6. 时间序列 ARIMA 模型 (三)

    先看下图: 这是1986年到2006年的原油月度价格.可见在2001年之后,原油价格有一个显著的攀爬,这时再去假定均值是一个定值(常数)就不太合理了,也就是说,第二讲的平稳模型在这种情况下就太适用了. ...

  7. python中Flask模块的使用

    1.简介 在服务器上运行Flask接口,就能使用requests模块获取该接口的值. 先运行接口文件,再运行requests文件,即可获取值. 2.示例 2.1一个简单的flask接口 import ...

  8. Python装饰器--decorator

    装饰器 装饰器实质是一个函数,其作用就是在不改动其它函数代码的情况下,增加一些功能.如果我们需要打印函数调用前后日志,可以这么做 def log(func): print('%s is running ...

  9. 牛客网多校第3场Esort string (kmp)

    链接:https://www.nowcoder.com/acm/contest/141/E 来源:牛客网 题目描述 Eddy likes to play with string which is a ...

  10. Qt 设置窗口居中显示和窗体大小

    设置窗口居中显示 方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码: #include <QDesktopWidget> //....... QDesktopWidget ...