教材学习内容总结

第十六章 整合数据库

•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周学习总结的更多相关文章

  1. 20155334 2016-2017-2 《Java程序设计》第二周学习总结

    20155334 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 java中的基本类型 整数:有short.int.long三种 字节:byte 字符:cha ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. hdu----(2222)Keywords Search(trie树)

    Keywords Search Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  2. BZOJ1590 [Usaco2008 Dec]Secret Message 秘密信息

    建立一颗trie树,记录下来每个点以它为结尾的字符串的个数cnt,和它的子树内有多少字符串size 于是查询的时候就只需要把沿途的cnt加起来,再加上最后的size就好了 /************* ...

  3. apache 修改最大连接数

    1.在哪里设置? 服务器的为FreeBSD 6.2 ,apache 2.24,使用默认配置(FreeBSD 默认不加载自定义MPM配置),默认最大连接数是250 在/usr/local/etc/apa ...

  4. MongoDB Replica Set 选举过程

    Replica Set 选举过程 心跳检测 假设我们有三个节点的replica sets:X,Y和Z节点.在replica sets结构中,这三个节点每2秒会各自向其它两个节点发送一个心跳检测请求.比 ...

  5. urlrewrite伪静态 及多参数传递-附正则表达式语法 [轉]

    首先 加载 urlrewrite包 配置web.xml [list] [*] <error-page> [*]             <error-code>404</ ...

  6. POJ 3249 拓扑排序+DP

    貌似是道水题.TLE了几次.把所有的输入输出改成scanf 和 printf ,有吧队列改成了数组模拟.然后就AC 了.2333333.... Description: MR.DOG 在找工作的过程中 ...

  7. Js数据类型之——Date

    小猪曾经分享过一篇文章,主要是讲到后台使用c#将DataTime类型序列化到前台之后进行操作:具体请看传送门 今天小猪来分享在JS中的Data类型 类型说明 ECMAScript中的Data类型是在早 ...

  8. 小记:利用递归调用循环寻找MP3文件的方法。

    private void findMp3Data(File mp3file) { File[] filelist = mp3file.listFiles(); if (filelist != null ...

  9. 用C#用C#实现窗体在规定时间弹出,例如:10:00.弹出后关闭。并在5分钟后再次弹出。5次后停止。最好有具体代码实现窗体在规定时间弹出,例如:10:00.弹出后关闭。并在5分钟后再次弹出。5次后停止。最好有具体代码

    run(){        while(true)        {                show();                if(条件)                {     ...

  10. 实现js中的重载

    重载是面向对象语言里很重要的一个特性,JS中没有真正的重载,是模拟出来的(因为js是基于对象的编程语言,不是纯面向对象的,它没有真正的多态:如继承.重载.重写) 一.什么时候用重载? 举例: func ...