20145210 《Java程序设计》第09周学习总结
教材学习内容总结
第十六章 整合数据库
•JDBC(Java DataBase Connectivity)
•JDBC是用于执行SQL的解决方案
•JDBC全名Java DataBase Connectivity,是联机数据库的标准规范。具体而言,它定义一组标准类与接口,应用程序需要联机数据库时调用这组标准API,而标准API中的接口会由数据库厂商操作,通常称为JDBC驱动程序

•JDBC标准分为两个部分:JDBC应用程序开发者接口、JDBC驱动程序开发者接口
•JDBC驱动程序开发者接口是数据库厂商操作驱动程序时的规范

•厂商在操作JDBC驱动程序时,依操作方式可将驱动程序分为4种类型:
•JDBC-ODBC Bridge Driver
•ODBC是由Microsoft主导的数据库连接标准
•JDBC-ODBC Bridge Driver驱动程序会将JDBC调用转换为对ODBC驱动程序的调用,由ODBC驱动程序操作数据库
•Native API Driver
•这个类型的驱动程序会以原生方式,调用数据库提供的原生链接库
•由于使用了原生链接库,所以驱动程序本身与平台相依,没有达到JDBC驱动程序的目标之一:跨平台
•由于直接调用数据库原生API,因此在速度上,有机会成为4种类型中最快的驱动程序
•JDBC-Net Driver
•这类型的JDBC驱动程序会将JDBC方法调用转换为特定的网络协议调用
•客户端这里安装的驱动程序,可以使用纯粹的Java技术来实现,因此这种技术可以跨平台
•由于通过中介服务器转换,速度较慢,获得架构弹性是使用这种类型驱动程序的目的
•Native Protocal Driver
•驱动程序可以使用纯粹Java技术实现,因此这种类型驱动程序可以跨平台
•是最常见的驱动程序类型
•基本数据库操作相关的JDBC接口或类是位于java.sql包中,要取得数据库联机,必须有几个动作:
•注册Driver操作对象
•取得Connection操作对象
•关闭Connection操作对象
教材学习中的问题和解决过程
问题:对于教材509页的代码不是很理解,代码如下:
import java.sql.*;
import static java.lang.System.out;
public class ConnectionDemo {
public static void main(String[] args)
throws ClassNotFoundException,SQLException{
Class.forName("com.mysql.jdbc.Driver");
String jdbcUrl = "jdbc:mysql://localhost:3306/demo";
String user = "root";
String passwd = "openhome";
try(Connection conn = DriverManager.getConnection(jdbcUrl,user,passwd)){
out.printf("已%s数据库连机%n",conn.isClosed()?"关闭":"开启");
}
}
}
解决:Connection使用尝试自动关闭资源语法,所以执行完try区块后,Connection的close()就会被调用
代码调试中的问题和解决过程
没有出现很大问题
其他(感悟、思考等,可选)
本周我们学习了Java学习笔记的最后三章,很惊讶自己能在短短九周的时间内学习完这本六百多页,十八章的教材,相信自己能在接下来的时间有效利用自己学习到的内容。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 1/3 | 20/40 | |
| 第三周 | 500/1000 | 1/4 | 25/65 | |
| 第四周 | 300/1300 | 1/5 | 30/95 | |
| 第五周 | 800/2100 | 1/6 | 30/125 | |
| 第六周 | 900/3000 | 2/8 | 40/165 | |
| 第七周 | 350/3350 | 2/10 | 40/205 | |
| 第八周 | 300/3650 | 2/12 | 50/255 | |
| 第九周 | 300/3950 | 2/14 | 50/305 |
参考资料
20145210 《Java程序设计》第09周学习总结的更多相关文章
- 20155334 2016-2017-2 《Java程序设计》第二周学习总结
20155334 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 java中的基本类型 整数:有short.int.long三种 字节:byte 字符:cha ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- thinkPHP开发基础知识 包括变量神马的
hinkPHP框架开发的应用程序,一般都采用单一入口的方式,下面是在应用首页文件中实现的定义: 1.在首页定义thinkPHP框架路径 2.定义项目名称及路径,一般项目名称与项目文件夹名称保持一致 3 ...
- hdu----(4308)Saving Princess claire_(搜索)
Saving Princess claire_ Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- 弹出消息对话框ScriptManager
//直接调用WebMessageBox方法 #region 弹出消息对话框 /// <summary> /// 弹出消息对话框 /// </summary> /// <p ...
- uva 10723
10723 - Cyborg Genes Time limit: 3.000 seconds Problem F Cyborg Genes Time Limit 1 Second Septembe ...
- perl 正则匹配代码
36 chomp $line; 37 my @vec = split /\t/, $line; 38 my @vec2 = ($vec[1]=~/[a-z]+/g); 39 ...
- 重点关注之自定义序列化方式(Protobuf和Msgpack)
除了默认的JSON和XML序列化器外,如果想使用其它格式的(比如二进制)序列化器,也是可以的.比如著名的Protobuf和Msgpack,它们都是二进制的序列化器,特点是速度快,体积小.使用方法如下. ...
- C# 文件与目录的基本操作(System.IO)
1. 文件操作 /// <summary> /// 文件读写操作 /// 为简化代码供大家学习,暂不考虑捕捉异常 /// </summary> public partial c ...
- RM报表里的变量
// RMVariables['JEDT']:= InvoiceJeDx('123.55', 1); 这个是整个程序的全局变量 // RMReport2.Dictionary.Variables['J ...
- struts中获取域
在struts的Action中,有三种方法可以得到request.session.servletContext域. 1.通过ServletActionContext类获取对象 HttpServletR ...
- Failed to instantiate the default view controller for UIMainStoryboardFile 'Main'
给UITableViewController 展示数据时候 删除系统自带viewController 然后拖过来一个UITableViewController 指定class后没有指定main入口 报 ...