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. [ACM] 九度OJ 1553 时钟

    时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:1733 解决:656 题目描写叙述: 如图,给定随意时刻,求时针和分针的夹角(劣弧所相应的角). 输入: 输入包括多组測试数据.每组測试数 ...

  2. EXT2/EXT3文件系统(一)

    整理自<鸟哥的Linux私房菜>,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/ 1.文件系统概念引入 文件系统是一种存储和组织计算机数据的方法,它使 ...

  3. zabbix 监控jvm

    tomcat 机器配置: [root@wx03 lib]# pwd /usr/local/apache-tomcat-7.0.55/lib [root@wx03 lib]# ls -ltr *jmx* ...

  4. mysql基础:mysql列类型--时间和日期

    mysql列类型--整型 http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--字符串http://blog.csdn.net ...

  5. NYOJ 1085 数单词 (AC自己主动机模板题)

    数单词 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 为了可以顺利通过英语四六级考试,如今大家每天早上都会早起读英语. LYH本来以为自己在6月份的考试中能够通过六 ...

  6. hdu3072

    Intelligence System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  7. 【UVA】12299-RMQ with Shifts(线段树)

    改动的时候因为数据非常小,所以能够直接暴力改动,查询的时候利用线段树即可了. 14337858 option=com_onlinejudge&Itemid=8&page=show_pr ...

  8. MFC/VC CxImage 简单配置与使用 (完整版)

    如果本篇文章还不能解决你在生成解决方案以及便宜过程中的问题 请参阅: http://blog.csdn.net/afterwards_/article/details/7997385 我个人配置过来成 ...

  9. MFC-消息分派

    前言 由于工作需要,这几天学了一点MFC,在AFX里看到很多熟悉的东西,如类型信息,序列化,窗口封装和消息分派.几乎每个界面库都必须提供这些基础服务,但提供的手法却千差万别.MFC大量地借用了宏,映射 ...

  10. 在StatusBar中显示当前时间

    在StatusBar中显示当前时间,如下: 1.在String Table中插入一项 (注意:状态栏将根据字符串的长度来确定相应窗格的缺省宽度,所以指定为00:00:00就为时间的显示预留了空间)   ...