Atitit.自定义jdbc驱动  支持jsql

1. 为什么需要自定义驱动1

1.1. 透明分库分表1

1.2. 自定义数据库的接口。比如大数据文档文件类型的数据库,数据存储引擎2

2. 整个文章分为3个部分:  2

2.1. 1.    应用程序连接数据库的简单方法。2

2.2. 2.    使用自定义的JDBC驱动编译、部署、访问数据。2

2.3. 3.    通过高级的日志功能、连接池、预处理数据集增强自定义的JWDriver的性能。2

3. JDBC驱动的结构 Type1---Type4  2

4. Type1--4区别4

5. 参考4

1. 为什么需要自定义驱动

1.1. 透明分库分表

通过以上的分析我们可以通过对JDBC进行包装就能做到多数据源,甚至可以在JDBC层上进行分库分表。这样做的好处是对于上层开发人员是透明的。

1.2. 自定义数据库的接口。比如大数据文档文件类型的数据库,数据存储引擎

2. 整个文章分为3个部分:

2.1.  1.    应用程序连接数据库的简单方法。

2.2.   2.    使用自定义的JDBC驱动编译、部署、访问数据。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

2.3.   3.    通过高级的日志功能、连接池、预处理数据集增强自定义的JWDriver的性能。

3.  JDBC驱动的结构 Type1---Type4

JDBC为通用的数据库访问提供了一种程序级的接口。在一个特定的数据库环境下使用JDBC API你需要一个JDBC驱动来完成他们直接的协调运行。JDBC被分为四种类型或者说层次。每一个类型都有一个JDBC实现,以便满足日益增加的对平台独立性、执行效率和可管理性的要求。这四种类型分别是:

  Type1:JDBC-ODBC(开方数据库连接)桥。

  Type2:本地API,部分的Java驱动。

  Type3:网络协议,完全的Java 驱动。

  Type4:本地协议,完全的Java驱动。

  所有的JDBC驱动都要实现下面四个JDBC类:Driver、Connection、Statement和ResultSet。包含在java.sql包种DriverManager类用于管理被加载的驱动。客户端应用程序通过它获得数据库连接。JDBC的Driver通过下面的方法加载: 

 Class.forName("com.jw.client.JWDriver");

  当这个Driver被加载时它的staic部分的代码就会执行,通过DriverManager注册这个驱动。现在,只要客户端应用程序通过DriverManger.getConnection()方法,DriverManager就会转而调用nnect()方法。每一个JDBC驱动必须实现java.sql.Driver接口。所以,JDBC驱动的nnect方法会首先检测当前的驱动Url是否正确,然后会通过connet()方法返回一个Connection对象。

4. Type1--4区别

Type1 JDBC-ODBC桥
作为JDK1.1后的一部分,是sun.jdbc.odbc包的一部分
Application--->JDBC-ODBC Bridge(Type1 jdbc driver)---->JDBC-ODBC Library--->ODBC Driver-->Database
适用于快速的原型系统,没有提供JDBC驱动的数据库如Access

ype2 JAVA to Native API
利用开发商提供的本地库来直接与数据库通信。
Application--->JDBC Driver(Type2 jdbc driver)---->Native Database library---->Database
比Type1性能略好。

Type3 Java to net
Application--->Jdbc Driver(Type3 jdbc driver)----->java middleware--->JDBC Driver---->Database
具有最大的灵活性,通常由那些非数据库厂商提供,是四种类型中最小的。

Type4 JAVA to native dababase
Application--->Jdbc driver(type4 jdbc driver)----->database engine--->database
最高的性能,通过自己的本地协议直接与数据库引擎通信,具备在Internet装配的能力。

5. 参考

[转载]如何写自己的Type3 JDBC 驱动-dinner1007-ITPUB博客.htm

浅谈4种类型的JDBC驱动程序.htm

参照Mysql JDBC 驱动源码实现自定义驱动 - 数据库.htm

Atitit.自定义jdbc驱动  支持jsql的更多相关文章

  1. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表

    本文目录:       1.自定义JDBC框架 ——数据库元数据:DataBaseMetaData        2.自定义JDBC框架 ——数据库元数据:DataBaseMetaData       ...

  2. 开涛spring3(7.4) - 对JDBC的支持 之 7.4 Spring提供的其它帮助

    7.4  Spring提供的其它帮助 7.4.1  SimpleJdbc方式 Spring JDBC抽象框架提供SimpleJdbcInsert和SimpleJdbcCall类,这两个类通过利用JDB ...

  3. spring3: 对JDBC的支持 之 Spring提供的其它帮助 SimpleJdbcInsert/SimpleJdbcCall/SqlUpdate/JdbcTemplate 生成主键/批量处理

    7.4  Spring提供的其它帮助 7.4.1  SimpleJdbc方式 Spring JDBC抽象框架提供SimpleJdbcInsert和SimpleJdbcCall类,这两个类通过利用JDB ...

  4. Oracle、DB2、MySql、SQLServer JDBC驱动

    四种数据库JDBC驱动,还列出了连接的Class驱动名和Url Pattern,DB2包括Type 2.Type 3和Type 4三种模式.注意驱动包名称的大小写. Oralce连接驱动包名和URL ...

  5. MySQL JDBC驱动版本与MySQL数据库版本对应关系

    前言:前段时间发现在家使用和公司一样的mysql jdbc驱动版本发生了异常,原因:家里mysql数据库版本与公司不一致导致.查询了相关资料,发现mysql jdbc驱动版本与mysql数据库版本有一 ...

  6. Confluence 6 数据库 JDBC 驱动

    本页面提供了支持的数据库的所有 JDBC 驱动下载链接. 基于许可证的原因,我们没有将 MySQL 或 Oracle 的数据库驱动整合到 Confluence 中,因此你需要在 Confluence ...

  7. Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结  mysql

    Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结  mysql 1. 图16.1:MySQL体系结构1 2. 16.7. 创建表create()虚拟函数:2 3. 16.8 ...

  8. Microsoft SQL Server JDBC 驱动程序支持矩阵

    本页包含 Microsoft SQL Server JDBC 驱动程序的支持矩阵和支持生命周期策略. Microsoft JDBC 驱动程序支持生命周期矩阵和策略 Microsoft 支持生命周期 ( ...

  9. 8.Spring对JDBC的支持和事务

    1.Spring对JDBC的支持 DAO : Spring中对数据访问对象(DAO)的支持旨在简化Spring与数据访问技术的操作,使JDBC.Hibernate.JPA和JDO等采用统一的方式访问 ...

随机推荐

  1. HYSBZ - 2038 小Z的袜子 (莫队算法)

    A1206. 小Z的袜子 时间限制:1.0s   内存限制:512.0MB   总提交次数:744   AC次数:210   平均分:44.44 将本题分享到:        查看未格式化的试题    ...

  2. 一种可以做app性能监控的app

    http://easytest.taobao.com/?spm=0.0.0.0.ljgQHN

  3. ntp流量放大攻击分析

    最近,听说挂在网络上的设备进行时间同步成功率低,YS需要架设自己的NTP服务器,这玩意第一时间能让人想到NTP流量放大攻击,这也是一种比较古老的攻击方式,检测了一下发现所使用的OS默认已经进行了加固, ...

  4. JavaScript:this是什么

    JavaScript:this是什么? 定义:this是包含它的函数作为方法被调用时所属的对象. 说明:这句话有点咬嘴,但一个多余的字也没有,定义非常准确,我们可以分3部分来理解它! 1.包含它的函数 ...

  5. ASP.NET Core 1.0基础之静态文件处理

    来源 这些HTML , CSS files, image files, 和JavaScript这些静态文件,是ASP.NET能够直接响应给客户端的.本文详述下ASP.NET和静态文件的关系. Serv ...

  6. Coherence的集群成员的离开和加入机制研究

    最近在客户那里环境中coherence集群不稳定,所以找出一些文档,需要搞清楚Coherence内部的一些机制 1.集群成员的离开 关于状态的检测,官方的说法是: Death detection is ...

  7. windows下硬盘的逻辑结构

    共有五部分组成: MBR:主引导分区(硬盘启动记录) DBR:DOS启动记录 FAT: 文件分配表 DIR:根目录区 DATA:数据区

  8. javascript数据类型检测方法

    一.字符串.数字.布尔值.undefined的最佳选择市使用 typeof 运算符进行检测: 对于字符串,typeof 返回"string" 对于数字,typeof 返回" ...

  9. http://blog.sina.com.cn/s/blog_62e1faba010147k4.html

    http://blog.sina.com.cn/s/blog_62e1faba010147k4.html

  10. maven的安装和eclipse的配置以及构建mahout基本项目

    maven介绍在此略过 下载地址: 点击打开链接 windows下载xxx-bin.zip文件 linux下载xxx-bin.tar.gz 这里以windows为例 下载完成直接解压到一个目录下 计算 ...