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. AWS CSAA -- 03 Identity Access Management IAM

    009 IAM 101 012 IAM Summary 问题汇总: Lab1:对root account进行加固 Lab 2:利用CloudWatch设置BillingAlarm

  2. 短时傅里叶变换(Short Time Fourier Transform)原理及 Python 实现

    原理 短时傅里叶变换(Short Time Fourier Transform, STFT) 是一个用于语音信号处理的通用工具.它定义了一个非常有用的时间和频率分布类, 其指定了任意信号随时间和频率变 ...

  3. 国内一元钱 正常搭建android开发环境

    如果你人在gfw之外,那么此篇文章对你来说毫无用处,请自动略过.. 笔者自android出来之后,就一直想尝试一下.可惜,几年来一直未能够定下身心来研究尝试.而所做的工作也与android没有关系,所 ...

  4. 定制NSError

    定制NSError 效果: 系统的NSError是可以自己定制的,以下提供代码来实现并表示如何使用: YXError.h 与 YXError.m // // YXError.h // CustomYX ...

  5. Windows未能启动:0xc00000e9错误

    问题:计算机无法启动,错误代码为:0xc00000e9 解决方法: 1.如报错所示,\Windows\System31\config\system 文件丢失或损坏: 2.如许修复此问题,需在打开此目录 ...

  6. 铁乐学Python_Day33_网络编程Socket模块1

    铁乐学Python_Day33_网络编程Socket模块1 部份内容摘自授课老师的博客http://www.cnblogs.com/Eva-J/ 理解socket Socket是应用层与TCP/IP协 ...

  7. upper_bound()与lower_bound()的使用

    upper_bound()与lower_bound()的使用 c++中的许多库函数可以使我们的代码量大大减少,也可使问题简单化.很早之前就接触了upper_bound()与lower_bound(), ...

  8. 本地YUM源制作

    YUM相关概念 什么是YUM YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管 ...

  9. 一劳永逸部署项目:通过tomcat加载环境变量

    一劳永逸部署项目:通过tomcat加载环境变量 转载自:https://blog.csdn.net/u010414666/article/details/46499953 一.说明 项目中经常会用到x ...

  10. 【洛谷】【动态规划(多维)】P1006 传纸条

    [题目描述:] 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸 ...