JDBC数据库连接
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数据库连接的更多相关文章
- JAVA基础知识之JDBC——JDBC数据库连接池
JDBC数据库连接池 数据库的连接和关闭是很耗费资源的操作,前面介绍的DriverManager方式获取的数据库连接,一个Connection对象就对应了一个物理数据库连接,每次操作都要打开一个连接, ...
- JDBC 数据库连接池
http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html JDBC 数据库连接池 小结 当对数据库的访问不是很频繁时,可以在每次 ...
- 【Java123】JDBC数据库连接池建立
需求场景:多SQL任务多线程并行执行 解决方案:建立JDBC数据库连接池,将线程与连接一对一绑定 https://www.cnblogs.com/panxuejun/p/5920845.html ht ...
- JDBC数据库连接技术
[学习笔记]JDBC数据库连接技术(Java Database Connectivity) 一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称 ...
- JDBC数据库连接池
用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库 ...
- Java自学-JDBC 数据库连接池
数据库连接池 与线程池类似的,数据库也有一个数据库连接池. 不过他们的实现思路是不一样的. 本章节讲解了自定义数据库连接池类:ConnectionPool,虽然不是很完善和健壮,但是足以帮助大家理解C ...
- JAVA之JDBC数据库连接池总结篇
JDBC数据库连接池 一.JDBC数据库连接池的必要性 二.数据库连接池技术 三.多种开源的数据库连接池 3.1 C3P0数据库连接池 3.2 DBCP数据库连接池 3.3 Druid(德鲁伊)数据库 ...
- jdbc数据库连接过程及驱动加载与设计模式详解
首先要导入JDBC的jar包:接下来,代码:Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类, 也就 ...
- jdbc 数据库连接
连接数据库 1)通过Driver来连接(Driver:数据库厂商提供的一个接口) public void testDriver()throws Exception{ Driver driver = n ...
- JDBC数据库连接池技术
在JDBC中,获得连接或释放资源是非常消耗系统资源的两个过程,为了解决此类性能问题,通常采用连接池技术,来共享连接.这样我们就不需要每次都创建连接.释放连接了,这些操作都交给了连接池. 用池的概念来管 ...
随机推荐
- Windows Azure入门教学系列 (七):使用REST API访问Storage Service
本文是Windows Azure入门教学的第七篇文章. 本文将会介绍如何使用REST API来直接访问Storage Service. 在前三篇教学中,我们已经学习了使用Windows Azure S ...
- PHP学习之-1.1 PHP 可以做什么?
PHP 可以做什么? 为什么要学习PHP,"我可以用javascript来实现程序的编写."但是javascript的能力是有限的,javascript通常运行在浏览器(客户端), ...
- Primefaces的fileUpload组件使用
最近在学习Primefaces(当然也是项目中需要用的).在使用其fileUpload遇到了不小的困难,现总结一下供大家及我自己今后参考使用. 1.首先是使用环境配置:正常的Primefaces开发环 ...
- ADOConnection数据库连接池
unit AdoconnectPool; interface uses Classes, Windows, SysUtils, ADODB, IniFiles, forms; type TADOCon ...
- Maven插件之portable-config-maven-plugin(不同环境打包)
在大型的项目组中,分不同的开发环境,测试环境,生产环境(说白了就是配置文件不同,或者数据源,或者服务器,或者数据库等);问题来了,如何使用Maven针对不同的环境来打包呢? Maven提供了Profi ...
- SMART rule之个人理解
SMART原则通常应用于绩效评估中. S是specific的缩写,也就是你所设定的目标必须是一个具体的目标,而不是一个空而大的东西. 比如你的目标定位为今年学习linux,并对进程管理.内存管理等要能 ...
- struts2由<s:tree>要么dtree小工具 建立树
一个 .<s:tree>方法: 1.引入新的标签: <%@ taglib prefix="sd" uri="/struts-dojo-tags" ...
- Swift - 给项目导入资源
如果想添加资源到项目中去,只要通过鼠标左键将文件或者存有文件的文件夹直接拖到Xcode中. 当松开鼠标后会弹出如下面板: (1)勾上“Copy items if needed”就会拷贝文件进项目, ...
- Oracle PL/SQL 非预定义异常、自定义异常处理、RAISE_APPLICATION_ERROR
抛出异常 Oracle有三种类型的异常错误: 1. 预定义(Predefined)异常 ORACLE预定义的异常情况大约有24个.对这种异常情况的处理,无需在程序中定义,由ORACLE自动将其引发. ...
- 循环获取json对象的属性名
今天做项目遇到一个难题,asp.net 项目,数据库中一个表有八十多个字段,我已经在前台将表转化为了json字符数组,我要在前台循环这八十多个字段,我只能根据属性名来处理,一筹莫展,最终解决,收益颇多 ...