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

教材学习内容总结

第十六章 整合数据库

一、JDBC入门

(一)JDBC简介

厂商在操作JDBC驱动程序时,依操作方式可将驱动程序分为4种类型

1.JDBC-ODBC Bridge Driver

  • 将JDBC调用转换为对ODBC驱动程序的调用,由ODBC驱动程序操作数据库
  • 功能受限,弹性不足

2.Native API Driver

  • 以原生方式调用数据库提供的原生链接库,JDBC的方法调用都会转换为原生链接库中的相关API调用
  • 速度优势

3.JDBC-Net Driver

  • 将JDBC方法调用转换为特定的网络协议调用,远程与数据库特定的中介服务器或组件进行协议操作
  • 速度较慢,获得架构弹性

4.Native Protocol Driver

  • 将JDBC调用转换为与数据库特定的网络协议,以与数据库进行沟通操作
  • 可以跨平台,不需要获得架构弹性时使用
(二)连接数据库

1.注册Driver对象:调用registerDriver()方法

2.取得Connection操作对象:getConnection()

3.关闭Connection操作对象:close()(isClosed()方法可以测试与数据库的连接是否关闭)

(三)使用Statement、ResultSet

1.要执行SQL,必须取得java.sql.Statement操作对象

2.使用createStatement()建立Statement对象

3.executeQuery():用于SELECT等查询数据库的SQL,返回java.sql.ResultSet对象

4.executeQuery():返回int结果

(四)使用PreparedStatement、CallableStatement
  • 如果有些操作只是SQL语句中某些参数会有不同,其余相同,则可以使用java.sql.PreparedStatement
  • 使用preparedStatement()方法建立好预先编译的SQL语句,参数变动部分用“?”
  • 使用executeUpdate()和executeQuery()方法让SQL执行生效
  • 执行完毕,调用clearParameters()清除设置参数

教材学习中的问题和解决过程

  • 对p509页的代码中关于collecetion语法的部分不是很理解
  • java collection

代码调试中的问题和解决过程

  • 同上

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • Linux中使用cp命令拷贝目录时要加上()选项。-r/-R
  • 只知道-R,并没有注意到-r
  • 正则表达式”(‘|”)(.*?)\1”匹配
  • “'Hello',"World””的结果是()不匹配
  • 被多选题所迷惑
  • 正则表达式 zo* 匹配()z
  • 可以是0次
  • 正则表达式 r.t 能够匹配字符串()rat/rut
  • r.t . 表示r开着,中间为任意字符接着为t的三字母字符串

结对及互评

点评过的同学博客和代码

其他(感悟、思考等,可选)

这周学习后最大的感悟就是,不管自己真正学到了什么东西,但好说歹说也算把这本厚厚的java学习笔记基本过了一遍。虽然自己很多东西都模棱两可,但也算完成了一项任务,自己还是感觉有一点成就感。虽然在实验二中依然发现有许多东西自己还不甚清晰,但是在接下来的学习过程中相信自己会弥补的。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第九周 374/600 2/2 30/40

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:40小时

  • 实际学习时间:30小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

20155211 2016-2017-2 《Java程序设计》第九周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第九周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2.书面作业 Q1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什 ...

  2. 20145220java程序设计第九周学习总结

    20145220java程序设计第九周学习总结 教材学习内容总结 JBDC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商对接口直接操作,开发人员无须接触底层数据可驱动程序的差异 ...

  3. 201771010134杨其菊《面向对象程序设计java》第九周学习总结

                                                                      第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...

  4. 201521044152<java程序设计>第一周学习总结

    本周学习总结 java开发时间虽然很短,但是发展迅速,已成为现在非常流行的一门语言,很开心能有幸学习java.第一周学习了java的平台,运行环境jdk以及jrt等等新名词,还了解了eclipse的基 ...

  5. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  6. 20145304 刘钦令 Java程序设计第一周学习总结

    20145304<Java程序设计>第1周学习总结 教材学习内容总结 1995年5月23日,是公认的Java的诞生日,Java正式由Oak改名为Java. Java的三大平台是:Java ...

  7. 201621123007 Java程序设计第一周 学习总结

    第一周-Java基本概念 201621123007 <Java程序设计> 第一周学习总结 1. 本周学习总结 java是面向对象的一类语言,三大特征:封装性,继承性,多态性. jdk jr ...

  8. 马凯军201771010116《面向对象与程序设计Java》第九周学习总结

    一.理论知识部分 异常.日志.断言和调试 1.异常:在程序的执行过程中所发生的异常事件,它中断指令的正常执行. 2.Java的异常处理机制可以控制程序从错误产生的位置转移到能够进行错误处理的位置. 3 ...

  9. 201521123063 JAVA程序设计 第二周学习总结

    1.本周学习重点(2.27-3.5) java中的数组 以二维数组为例,数组名为scores,则 (1)先声明数组 int[][] scores;或int scores[][];或int[] scor ...

  10. 《Java》第九周学习总结

    下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新

随机推荐

  1. statsmodels中的summary解读(以linear regression模型为例)

    https://datatofish.com/statsmodels-linear-regression/ https://blog.datarobot.com/ordinary-least-squa ...

  2. 使用 CLI 创建 Azure VM 的自定义映像

    自定义映像类似于应用商店映像,不同的是自定义映像的创建者是你自己. 自定义映像可用于启动配置,例如预加载应用程序.应用程序配置和其他 OS 配置. 在本教程中,你将创建自己的 Azure 虚拟机自定义 ...

  3. Vue2学习笔记:数据交互vue-resource

    基本语法 必须引入一个库:vue-resource github地址 // 基于全局Vue对象使用http Vue.http.get('/someUrl', [options]).then(succe ...

  4. [WinCE | VS2008 | Solution] VS2008 building WinCE projects taking a long time

    1. Open C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.CompactFramework.Common.targets 2. Find pa ...

  5. MySQL: OPTIMIZE TABLE: Table does not support optimize, doing recreate + analyze instead

    show create table history;-------------------------- CREATE TABLE `foo` (  `itemid` bigint(20) unsig ...

  6. 使用GTID给Galera集群做数据库异步复制

    一.为什么要做Galera集群异步复制 Galera集群解决了数据库高可用的问题,但是存在局限性,例如耗时的事务处理可能会导致集群性能急剧下降,甚至出现阻塞现象.而不幸的是,类似报表等业务需求就需要做 ...

  7. 滑动cell的时候执行动画效果

    滑动cell的时候执行动画效果 效果图: 源码: // // ViewController.m // AniTab // // Created by XianMingYou on 15/2/26. / ...

  8. December 03rd 2016 Week 49th Saturday

    By failing to prepare, you are preparing to fail. 不做准备,那就准备失败吧. How does the case when you had prepa ...

  9. JVM源码分析之堆外内存完全解读

    JVM源码分析之堆外内存完全解读   寒泉子 2016-01-15 17:26:16 浏览6837 评论0 阿里技术协会 摘要: 概述 广义的堆外内存 说到堆外内存,那大家肯定想到堆内内存,这也是我们 ...

  10. IKVM.NET入门(2)

    ikvm.net是什么 http://www.ikvm.net/ ikvm.net是能够运行在mono和.net framework的java虚拟机.它包括了 在.net中实现的一个java虚拟机 j ...