`
pengzhoushuo
  • 浏览: 12915 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

JDK源码研究之sql包

阅读更多
java.sql

1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的调用规范

2、每个数据库厂商会实现Driver接口,且会调用DriverManager的静态registerDriver方法。如:
static {
try {
DriverManager.registerDriver(new PoolingDriver());
} catch(Exception e) {
}
}
所以在Class.formName()的时候即已调用了registerDriver方法,而通过DriverManager可以得到Connection(甚至是Driver)。
从这里也可以看出:不一定要Class.forName来加载驱动,可以直接new DriverImpl()的方式。

3、由Connection可以得到Statement或者它的子类PrepareStatement,通过查询得到的结果便是ResultSet,传统的JDBC编程就是围绕这四个类展开的。

4、sql包里提供了很多基本数据类型的接口供数据库厂商实现。值得注意的是java.sql下的Date、Time分别只是日期与时间包装类,与util.Date相对应的是TimeStamp类。

5、很多项目或者个人都喜欢直接往web层返回一个ResultSet,这种做法存在着很大的隐患,ResultSet是基于连接的,往页面上返回ResultSet就要求Connection不能关闭,而Connection不显式地关闭就只能等待自动超时。
在大并发量的情况下马上就挂了。

6、Types.java里提供了每一个数据类型代表的int值,在程序中可以直接调用。

7、笔者自己实现了工具类JdbcTemplate,创建时指定一个DataSource就可以方便地实现数据库的增删改查。另外有若干静态方法是基于Connection的,感兴趣的读者请参考:com.upeng.commons.sql.JdbcTemplate


分享到:
评论
1 楼 悲剧了 2011-09-14  
打着源码的幌子,没什么含量

相关推荐

    JDK源码包(包含sun包下的源码)

    本压缩包提供的JDK源码包含了`sun`包,这意味着你可以研究诸如`sun.nio`(非阻塞I/O)、`sun.jdbc`(数据库连接)和`sun.security`(安全相关)等重要组件的实现细节。这些源码对于JDK的深度学习和性能优化有着极大...

    jdk 源码 完整版

    这份"jdk源码 完整版"包含了javax、com、org、java、sun以及sunw等多个核心包下的源代码,为开发者提供了宝贵的参考和学习材料。 首先,我们来看看`java`包。这个包是Java语言最基础的部分,包含了语言的关键类库,...

    jdk1.8 src源码包

    JDK源码包解压后,通常会看到以下主要目录结构: - `java`: 包含所有基本的Java类库,如`lang`(基础类型和对象)、`util`(通用工具类)和`io`(输入输出)等。 - `javax`: 主要包含扩展的Java类库,如`swing`...

    jdk源码jdk1.8.0_181

    在JDK1.8.0_181中,可以看到对这些API的实现细节,例如`javax.sql`包下的DataSource接口,用于数据库连接池管理,以及`javax.xml.bind`包下的数据绑定机制。 2. **com**: com包下包含了Oracle提供的许多核心类库,...

    jdk1.6源码包

    通过研究JDK1.6的源码,开发者可以学习到: - **面向对象设计**:Java是一种典型的面向对象语言,源码展示了如何设计和实现复杂的类和接口。 - **异常处理**:源码中广泛使用了异常处理机制,有助于理解何时和如何...

    jdk源码学习

    源码学习是提升编程技能的重要途径,通过深入理解JDK源码,我们可以洞察Java语言的内部机制,掌握其设计思想,并学习到优秀的编程实践。 在JDK源码中,有许多关键的组件和类库,如: 1. **虚拟机(JVM)**:Java...

    jdk1.8source源码

    Java Development Kit (JDK) 1.8 是Java编程语言的一个关键版本,它引入了许多重要的特性和改进。...对于希望深入理解Java并成为更好的开发者的程序员来说,JDK 1.8源码的探索是一次不可或缺的学习之旅。

    jdk 7 源码

    Java开发工具包(JDK)是Java编程语言...此外,对于想要参与开源社区贡献的开发者,阅读JDK源码也是了解Java生态和提升自身技能的绝佳途径。总之,JDK 7的源码是Java程序员的一份宝贵资源,值得每一位开发者深入研究。

    JDK7源码(JDK7u7_src.zip)

    对于Java开发者而言,理解JDK源码是提升编程技能、优化代码性能的关键步骤。本文将围绕JDK7源码展开,探讨其中的核心组件、关键类和方法,以及它们在实际开发中的应用。 一、核心组件解析 1. `com`:这个包包含了...

    jdk1.6无法使用安全套接字层(SSL)加密连接sqlserver数据库

    解决jdk1.6连接sqlserver:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。内含readme文档。根据大神源码打包,本人项目使用无问题,如果对你有帮助的话可以给个好评。

    在JDK 1.5中实现真正面向对象形式的SQL语句4 (含有源码,代码生成工具)

    在JDK 1.5之前,我们通常使用常量类或者整型常量来表示有限的、预定义的值集合,例如SQL中的操作符(如EQ, LT, GT等)。但这种方式存在很多问题,如难以维护、易出错等。JDK 1.5引入的枚举类型解决了这些问题,它...

    在JDK 1.5中实现真正面向对象形式的SQL语句3 (含有源码,代码生成工具)

    4. **面向对象SQL库**:在JDK 1.5之后,出现了许多面向对象的SQL库,如MyBatis。这些库允许开发人员通过接口方法来执行SQL操作,将SQL逻辑与业务逻辑解耦。虽然这里的描述没有提到MyBatis,但实现类似功能的理念是...

    spring+mybatis企业应用实战项目源码(源码+sql)

    6. **SQL文件**:源码中的SQL文件用于创建和初始化数据库表结构,以及填充初始数据。这可以帮助开发者理解数据库设计和数据操作的方式。 7. **jar包完整性**:项目中包含了所有必要的jar包,确保了项目可以直接运行...

    毕业设计javajsp校园论坛sqlserver源码含文档工具包

    毕业设计javajsp校园论坛sqlserver源码含文档工具包 页面是jsp,数据库sqlserver,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 校园门户网站 用户注册 BBS系统平台 用户界面 会员登录 个人管理 会员功能...

    毕业设计javajsp新闻发布网站sqlserver-qkrp源码含文档工具包

    毕业设计javajsp新闻发布网站sqlserver-qkrp源码含文档工具包 页面是jsp,数据库sqlserver,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 新闻分类管理 分类列表(包含删除、修改) 添加分类 新闻管理...

    毕业设计javajsp创新基金申报系统sqlserver源码含文档工具包

    毕业设计javajsp创新基金申报系统sqlserver源码含文档工具包 页面是jsp,数据库sqlserver,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 创新基金申报管理系统 请信息统计 超级管理 基金中请管理 茫册...

    jdk8u144 src 源码

    1. **`java`** 目录:这是Java核心API的主要组成部分,包含了诸如`lang`(语言基础类)、`io`(输入输出)、`util`(实用工具类)、`net`(网络编程)、`sql`(数据库连接)等包。在`java.lang`中,我们可以找到`...

    毕业设计javajsp订餐网站sqlserver-qkrp源码含文档工具包

    毕业设计javajsp订餐网站sqlserver-qkrp源码含文档工具包 页面是jsp,数据库sqlserver,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 餐饮管理系统前台 首页 招牌 中餐 西餐 糕点 小吃 饮品 查看购物车 ...

    毕业设计javajsp大学社团管理系统sqlserver源码含文档工具包

    毕业设计javajsp大学社团管理系统sqlserver源码含文档工具包 页面是jsp,数据库sqlserver,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 学校社团管理系统 新闻浏览 社员功能操作 前台 社团浏览 在线留言...

    毕业设计javajsp小区物业管理系统sqlserver源码含文档工具包

    毕业设计javajsp小区物业管理系统sqlserver源码含文档工具包 页面是jsp,数据库sqlserver,jdk1.8,开发工具用ecplise、myecplise、sts、idea都可以 系统管理 网站设置 新闻资讯管理 基本资料管理 员工资料管理 添加...

Global site tag (gtag.js) - Google Analytics