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. 如何在首次启动 Linux 虚拟机时对其进行自定义

    在前面的教程中,你已学习如何通过 SSH 连接到虚拟机 (VM) 并手动安装 NGINX. 若要以快速一致的方式创建 VM,通常需要某种形式的自动化. 在首次启动 VM 时实现自定义的常见方法是使用  ...

  2. 第一章:了解SQL_数据库基础

    什么是数据库(database): 数据库(database)是保存有组织的数据的容器(通常是一个文件或一组文件).数据库是一种以某种有组织的方式存储的数据集合.   表(table): 表(tabl ...

  3. [VS2008] 安装 AnkhSVN 后,选项中选择它,Pending Changes 窗口一闪而过,源代码管理工具自动跳回 【None】

    执行以下命令以修复: "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /re ...

  4. 发布MVCIIS报错未能加载文件或程序

    未能加载文件或程序集“System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e3 ...

  5. LocationCoder 地图经纬度解析

    LocationCoder 地图经纬度解析 其实,在地图里面将地图解析成有意义的地址,或者把地址转换成有意义的经纬度都是很容易的事情,只是我将其封装了支持KVO,通知中心,block取结果,代理取结果 ...

  6. .Linode服务器的使用 网站迁移

    很多建站的朋友习惯了虚拟主机的 Cpanel 面板,但是面对 VPS 都感觉无所适从.毕竟外贸人很少接触到这类知识,所以需要一个贴心的新手教程. Linode VPS:国外最好的VPS注册购买教程 撇 ...

  7. 铁乐学python_shelve模块详解

    python序列化模块-shelve模块详解 shelve:vt. 将(书等)放置在架子上:搁置,将某事放到一旁不予考虑:将-搁在一边:装搁架于: 个人感觉有点像字典缓存?暂时搁置到一旁的意思? 研究 ...

  8. APUE4.4设置用户ID和设置组ID && 4.5文件访问权限

  9. ES6中map和set用法

    ES6中map和set用法 --转载自廖雪峰的官方网站 一.map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Arra ...

  10. php实现二分查找

    <?php class BinSch{ /* * 二分查找,针对顺序表才有用 */ public function search($arr,$k,$low,$high){ if($low< ...