JDBC是什么?

Java Data Base Connectivity

JDBC是:

以统一方式訪问数据库的API,能够訪问不论什么类型表列数据。特别是存储在关系数据中的数据。JDBC代表Java数据库连接。

JDBC提供:

1、独立于平台的数据库訪问

2、位置透明

 3、对专有数据的问题是透明

JDBC和JDBC Drivers

JDBC Drivers是实现数据库操作的类

Drivers分成两类:2-层-客户直接和数据库会话

    3-层-客户与代表数据库的中间层会话

怎样使用JDBC?

①:载入JDBC驱动程序(不同的数据库载入的驱动不一样滴)

②:建立连接

③:创建Statement对象

④:结果集处理

⑤:关闭连接

操作完毕以后要把全部使用的JDBC对象全都关闭。以释放JDBC资源,关闭顺序和声明顺序相反:

1、关闭记录集   

     2、关闭声明   

     3、关闭连接对象

通过Java.lang.Class类的静态方法forName(String className)实现

直接连接数据的实例,比如:

import Java.sql.*;...
try{
//载入pointbase的驱动类,这里能够改为Oracle,MySQL等其它类型的数据库,成功载入后会将Driver类的实例注冊到DriverManager类中
class.forName("com.pointbase.jdbc.jdbcUniversalDriver"); //创建数据库的连接,要连接数据库,须要向DriverManager请求并获得Connection对象。该对象代表一个数据的连接;使用DriverManager的getConnectin方法传入指定的欲连接的数据库的路径。 Connection con=DriverManager.getConnect("jdbc:pointbase://server:port/MyDatabase"); //创建一个Statement
Statement stmt=con.createStatement(); //运行查询数据库的SQL语句,返回一个结果集对象
String sql="SELECT * From MyTABLE";
ResultSet res=stmt.executeQuery(sql); //处理结果
//两种情况:1、运行更新返回的是本次操作影响到的记录数;2、运行查询返回的结果是一个ResultSet对象。 // ResultSet包括符合SQL语句中条件的全部行,而且它通过一套get方法提供了对这些行中数据的訪问。
<span style="white-space:pre"> </span>//使用结果集(ResultSet)对象的訪问方法获取数据:
while(res.next()){
String col1=res.getString("MYCOLUMN1");
int col2=res.getInt("MYCOLUMN2");
}catch(Exception e){...}
}

JDBC API既支持数据库訪问的两层模型(C/S),同一时候也支持三层模型(B/S)。在两层模型中,Java applet或应用程序将直接与数据库进行对话。

这将须要一个JDBC驱动程序来与所訪问的特定数据库管理系统进行 通讯

在三层模型中,命令先是被发送到服务的"中间层",然后由它将SQL 语句发送给数据库。





    JDBC的缺点:虽然JDBC在JAVA语言层面实现了统一,但不同数据库仍旧有很多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目。Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。

JDBC数据库连接的更多相关文章

  1. JAVA基础知识之JDBC——JDBC数据库连接池

    JDBC数据库连接池 数据库的连接和关闭是很耗费资源的操作,前面介绍的DriverManager方式获取的数据库连接,一个Connection对象就对应了一个物理数据库连接,每次操作都要打开一个连接, ...

  2. JDBC 数据库连接池

    http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html JDBC 数据库连接池 小结   当对数据库的访问不是很频繁时,可以在每次 ...

  3. 【Java123】JDBC数据库连接池建立

    需求场景:多SQL任务多线程并行执行 解决方案:建立JDBC数据库连接池,将线程与连接一对一绑定 https://www.cnblogs.com/panxuejun/p/5920845.html ht ...

  4. JDBC数据库连接技术

    [学习笔记]JDBC数据库连接技术(Java Database Connectivity) 一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称 ...

  5. JDBC数据库连接池

    用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库 ...

  6. Java自学-JDBC 数据库连接池

    数据库连接池 与线程池类似的,数据库也有一个数据库连接池. 不过他们的实现思路是不一样的. 本章节讲解了自定义数据库连接池类:ConnectionPool,虽然不是很完善和健壮,但是足以帮助大家理解C ...

  7. JAVA之JDBC数据库连接池总结篇

    JDBC数据库连接池 一.JDBC数据库连接池的必要性 二.数据库连接池技术 三.多种开源的数据库连接池 3.1 C3P0数据库连接池 3.2 DBCP数据库连接池 3.3 Druid(德鲁伊)数据库 ...

  8. jdbc数据库连接过程及驱动加载与设计模式详解

    首先要导入JDBC的jar包:接下来,代码:Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类, 也就 ...

  9. jdbc 数据库连接

    连接数据库 1)通过Driver来连接(Driver:数据库厂商提供的一个接口) public void testDriver()throws Exception{ Driver driver = n ...

  10. JDBC数据库连接池技术

    在JDBC中,获得连接或释放资源是非常消耗系统资源的两个过程,为了解决此类性能问题,通常采用连接池技术,来共享连接.这样我们就不需要每次都创建连接.释放连接了,这些操作都交给了连接池. 用池的概念来管 ...

随机推荐

  1. WEB应用如何解决安全退出问题

    让我先来描述一下这个情况.一位用户第一次请求一个web页面,web应用弹出登录窗口提示用户登录,用户输入用户名,密码,验证码后服务器进行判断,正确后,返回用户请求的页面.     此时,用户有事需要离 ...

  2. IIS Web服务扩展中添加ASP.NET4.0

    问题 服务器上安装了ASP.NET 4.0.30319组件,但是在IIS的Web服务扩展中并没有找到ASP.NET v4.0.30319这项,这导致基于.NET4.0开发的网页都无法正常浏览(404错 ...

  3. js 动态切换视频

    如图所示,想要一个这样的效果,就是点击下面视频标题时,上面的视频跟着切换,但是要求页面不重新加载. 参考文章在这里 这里贴上部分代码供大家参考. <li id="about_li6&q ...

  4. 六款常用的linux C/C++ IDE

    摘要: 一.AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application wizards)可以方便的帮助你 ...

  5. javascript 交互取值

    var publicClassName; var classIdInMemory = { lastVal: publicClassName, set:function(x){ if(x != &quo ...

  6. 以&运行在后台的程序,关闭terminal后,相应进进程自动关闭

    以&运行在后台的程序,关闭terminal后,相应进进程自动关闭

  7. boost.asio包装类st_asio_wrapper开发教程(2014.5.23更新)(一)-----转

    一:什么是st_asio_wrapper它是一个c/s网络编程框架,基于对boost.asio的包装(最低在boost-1.49.0上调试过),目的是快速的构建一个c/s系统: 二:st_asio_w ...

  8. uva 140

    思路:暴力+剪枝 uva140 wa了好多次……数组开小了……!!! #include <iostream> #include <cstdio> #include <cm ...

  9. Android 3d云标签

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWluZ3l1ZV8xMTI4/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  10. Linux下Qt4与qt5的程序使用输入法(ibus与fcitx)不冲突

    这篇文章引用了较多其他作者的内容,也忘记引用的出处了,只能感谢了.以下转入正题. 对于qt5.5,要下载libqt库源码自己编译,参考解决Qt5 Creator无法切换输入法(fcitx),Ubunt ...