`
wind_bell
  • 浏览: 286793 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

JDBC基础(一)注:转

    博客分类:
  • JDBC
阅读更多
JDBC基础(一)

    来,我们认识一下!
    JDBC,JAVA平台的DATABASE的连通性.白话一句,什么意思啊?
    就是JAVA平台上和数据库进行连结的"工具".

    还是先一起来回顾一下接口吧:从下向上,接口是对"案例"的抽象,由一个案例抽象出一些规则.
反过来,从上向下,被抽象出来的接口是对案例的一种承诺和约束.
    也就是说,只要你实现我规定的接口,你的类就已经具有了接口对外承诺的方法,只要"客户"会
操作接口,不需要重新学习就会操作实现了该接口的新类!
    好了,用行话来说:
    1.通过接口可以实现不相关的类的相同行为.
    2.通过接口可以指明多个类需要实现的方法.
    3.通过接口可以了解对象的交互方法而不需要了解对象所对应的类蓝本.
    这几句话很明白吧?好象有一本什么模式的书把这段话用了30多页写出来,结果别人看了还不如我这几句话明白,不过我明白了为什么有些人要写书了.

    搞懂了以上这东西,JDBC就好明白了.
    为了通用,JAVA中要求有一种机制,在操作不同厂商数据库时有相同的方法去操作,而不是每接
触一种数据库就要学习新的方法.完成这种机制的"东西"就叫"JDBC"了.
    简单地分,JDBC有两部分组成,JDBC API和JDBC Driver Interface.
    JDBC API就是提供给"客户"(就是象你我这种菜鸟级程序员来用的,如果是高手都自己写JDBC了,哈哈)的一组独立于数据库的API,对任何数据库的操作,都可以用这组API来进行.那么要把这些通用的API翻译成特定数据库能懂的"指令",就要由JDBC Driver Interface来实现了,所以这部份是面向JDBC驱动程序开发商的编程接口,它会把我们通过JDBC API发给数据库的通用指令翻译给他们自己的数据库.


    还是通过实际操作来看看JDBC如何工作的吧.

    因为JDBC API是通用接口,那么程序是如何知道我要连结的是哪种数据库呢?所以在和数据库连结时先要加载(或注册可用的Driver),其实就是JDBC签名.加载驱动程序和好多方法,最常用的就是先把驱动程序类溶解到内存中,作为"当前"驱动程序.注意"当前"是说内存中可以有多个驱动程序,但只有现在加载的这个作为首选连结的驱动程序.
    Class.forName("org.gjt.mm.mysql.Driver");
    Class.forName方法是先在内存中溶解签名为"org.gjt.mm.mysql.Driver"的Driver类,Driver类就会把相应的实现类对应到JDBC API的接口中.比如把org.gjt.mm.mysql.Connection的实例对象赋给java.sql.Connection接口句柄,以便"客户"能通过操作java.sql.Connection句柄来调用实际的org.gjt.mm.mysql.Connection中的方法.之于它们是如果映射的,这是厂商编程的,"客户"只要调用Class.forName("org.gjt.mm.mysql.Driver");方法就可以顺利地操作JDBC API了.

    一个普通数据库的连结过程为:
    1.加载驱动程序.
    2.通过DriverManager到得一个与数据库连结的句柄.
    3.通过连结句柄绑定要执行的语句.
    4.接收执行结果.
    5.可选的对结果的处理.
    6.必要的关闭和数据库的连结.
分享到:
评论

相关推荐

    基于SpringBoot开发的长途汽车售票系统源码+sql数据库+项目说明+设计报告.zip

    配置属性文件路径:src/main/resources/application.properties 注:只需配置和修改sql主机地址,数据库名,用户名,密码, 项目访问路径,这几个属性,项目即可正常运行访问。 # DataSource jdbc.driver=...

    PL/SQL 基础.doc

    注:与RECORD类型中定一个record相比,一步就完成, 而RECORD类型中定义分二步:a. 所有的成员变量都要申明; b. 实例化变量; 可以代替RECORD类型. 5. TABLE类型 TYPE tabletype IS TABLE OF type(类型名,要...

    基于ssm+bootstrap的简单员工管理系统 +源代码+文档说明

    注:使用前需要配置maven环境 使用中遇到问题可提交issue,+qq讨论 使用工具eclipse,在eclipse导入文件即可使用 通过运行项目里面的ssm_crud.sql来导入数据库结构 注意修改数据库信息:ssm-crud/src/main/...

    java版飞机大战源码-Rockira.github.io:Rockira.github.io

    注 : 没链接的是还没写 :hot_beverage: 各类知识点总结 下面的文章都有对应的原创精美PDF,在持续更新中,可以来找我催更~ Hibernate AJAX Redis ...... :hot_beverage:Java基础 计算机操作系统与Linux 计算机网络 7...

    Spring+SpringMVC+MyBatis SSM

    本程序适合初学者学习,采用Spring+SpringMVC+...注:本程序绝对100%可以使用,仅用于学习交流,一切从事商业活动与本作者无关,保留一切解释权。 代码简单,易懂,欢迎共同学习交流QQ:596085859 本代码出持续升级。

    javaspring 培训教程 TP1.docx

    它提供了一 些基本组件,如事务管理、 MVC 框架、 JDBC 、ORM 等,同时 也支持其他开源框架,比如 Hibernate 、MyBatis 等。 Java Spring 的优点是可扩展性更高、更加灵活,可以适应各种场景 的需求。 Java Spring ...

    springmybatis

    (读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看...

    基于SpringMVC+Spring+Hibernate+JQuery+Bootstrap框架的OA系统

    注:建库时,字符集编码为:utf8(utf8_general_ci) ---修改配置文件“jdbc.properties”,改成对应数据库的用户名和密码 ---“sysconfig.properties”系统配置文件;需要修改“root.dir”属性,设置为...

    基于SpringMvc+Spring+MyBatis的OA系统项目

    注:建库时,字符集编码为:utf8(utf8_general_ci) ---修改配置文件“jdbc.properties”,改成对应数据库的用户名和密码 ---“sysconfig.properties”系统配置文件;需要修改“root.dir”属性,设置为...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

    《Java语言程序设计》教案设计.doc

    能熟练地应用Swing " "学 "和JDBC技术设计C/S架构的网络应用系统,为学生以后从事更专业化的" "目 "软件开发工作奠定基础。 " "标 "能力目标:使学生能够掌握程序设计的基本技能;对网络应用进行分 " "及 "析、设计...

    Activiti6.0教程例子下载

    由于本人之前没有工作流及JBPM的相关基础,刚开始学习Activiti的时候可以说是无比痛苦的,根本不知道从何下手,这里也建议大家先进行工作流及BPMN2.0规范的学习,有了一定的基础后,再着手学习Activiti。 1.3.2. ...

    测试培训教材

    注:由于Cruise Booking的测试是由Cruise Booking的需求转化而成的,所以需求覆盖中默认就覆盖了Cruise Booking的需求项 添加对“View Reservations”需求项的覆盖 -- Linking Tests to a Requiremnet 将测试...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介  《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发...

Global site tag (gtag.js) - Google Analytics