20155211 2016-2017-2 《Java程序设计》第九周学习总结
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的三字母字符串
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
- 20155235
- 结对学习内容
讨论研究学习了实验内容,并共同研究了考试错题及上课中的练习题
- 上周博客互评情况
其他(感悟、思考等,可选)
这周学习后最大的感悟就是,不管自己真正学到了什么东西,但好说歹说也算把这本厚厚的java学习笔记基本过了一遍。虽然自己很多东西都模棱两可,但也算完成了一项任务,自己还是感觉有一点成就感。虽然在实验二中依然发现有许多东西自己还不甚清晰,但是在接下来的学习过程中相信自己会弥补的。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第九周 | 374/600 | 2/2 | 30/40 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:40小时
-
实际学习时间:30小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)