关于Java(JDBC介绍)
JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的。
JDBC 简单功能
- 连接数据源,如数据库
- 传给数据库查询和更新指令
- 获取并处理数据库返回结果(对查询等的响应)
示例代码:
public void connectDBAndQuery(String username, String password) {
Connection con = DriverManager.getConnection("jdbc:myDriver:myDatabase", username, password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
}
JDBC 组成
1、 JDBC API
- 提供关系型数据的编程访问接口
- 与分布式或异构环的数据源交互
- 是 Java平台的一部分(包括J2SE和J2EE)
- JDBC 4.0 API 分成 java.sql 和 javax.sql 两个包
2、DriverManager
JDBC 架构的基石:定义对象,将 Java 应用连接到 JDBC 驱动
标准扩展包 :javax.naming 和 javax.sql,允许使用注册到 JNDI 的 DataSource对象,来部署数据源的连接
评价:小而简
推荐:虽可使用 Connection,但推荐使用 DataSource
3、JDBC 测试组件
判断 JDBC 驱动是否运行程序
虽不全面,但体现 JDBC API 很多重要特性
4、JDBC-ODBC 桥
通过 ODBC 驱动,来提供 JDBC 访问
但要求每个机器都有 ODBC 驱动
因此,适用于企业网络(如果客户端安装不是问题),或三层架构的应用服务器代码
JDBC 架构
分为双层架构和三层架构
双层

- 作用:此架构中,Java Applet 或应用直接访问数据源
- 条件:要求 Driver 能与访问的数据库交互
- 机制:用户命令传给数据库或其他数据源,随之结果被返回
- 部署:数据源可以在另一台机器上,用户通过网络连接,称为 C/S配置(可以是内联网或互联网)
三层

- 侧架构特殊之处在于,引入中间层服务
- 流程:命令和结构都会经过该层
- 吸引:
可以增加企业数据的访问控制,以及多种类型的更新;
另外,也可简化应用的部署,并在多数情况下有性能优势
- 历史趋势:
以往,因性能问题,中间层都用 C 或 C++ 编写
随着优化编译器(将 Java 字节码 转为 高效的 特定机器码)和技术的发展,
如EJB,Java 开始用于中间层的开发
这也让 Java 的优势突显出现出来
使用 Java 作为服务器代码语言,JDBC随之被重视
JDBC 部分特性
- 连接池
- 分布式事务
- 离线 rowset
- 连接 Data Source
关于Java(JDBC介绍)的更多相关文章
- Java JDBC的基础知识(三)
在前面的Java JDBC的基础知识(二)和(三)中,主要介绍JDBC的原理和简单的应用过程.尤其在(二)中,可以发现代码进行多次try/catch,还有在前面创建连接等过程中好多参数我都给写定了. ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
- JAVA JDBC(存储过程和事务管理)
1.什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程 ...
- Java JDBC学习实战(二): 管理结果集
在我的上一篇博客<Java JDBC学习实战(一): JDBC的基本操作>中,简要介绍了jdbc开发的基本流程,并详细介绍了Statement和PreparedStatement的使用:利 ...
- Java——JDBC
今天给大家更新一篇我自己学习Java——JDBC的经验 Java中JDBC是(Java DataBase Connectivity)的简称,由java语言编写的类和接口组成,可为多种关系型数据库提供了 ...
- JDBC(1):JDBC介绍
一,JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- Java JDBC高级特性
1.JDBC批处理 实际开发中需要向数据库发送多条SQL语句,这时,如果逐条执行SQL语句,效率会很低,因此可以使用JDBC提供的批处理机制.Statement和PreparedStatemen都实现 ...
- Java JDBC下执行SQL的不同方式、参数化预编译防御
相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...
- Java JDBC批处理插入数据操作
在此笔记里,我们将看到我们如何可以使用像Statement和PreparedStatement JDBC API来批量在任何数据库中插入数据.此外,我们将努力探索一些场景,如在内存不足时正常运行,以及 ...
随机推荐
- 多态VI的创建
比较适合使用多态VI的场合:一个算法会应用到几种不同的数据类型上.比如读写 INI 文件的 VI,它 们既可以读写数值型的数据,也可以读写字符串.布尔等数据类型. 实现多态 VI 之前,一般先实现它的 ...
- android 程序打开第三方程序
因为在开发过程中需要开启扫描第三方程序,并且点击启动的效果,所以对这个功能进行了实现,并且分享出来个大家. 之前看到网上说需要获取包名和类名,然后通过 intent 才能打开这个程序,其实不必要这样 ...
- Media Player框架
导入MediaPlayer.framework框架. //声明一个媒体播放器 var moviePlayer:MPMoviePlayerController? @IBAction func playM ...
- android之错误汇总
A.错误:生成android源码索引期间使用mmm命令报错 B.解决: 或者 . build/envsetup.sh 依据自己的环境脚本而定 未完待续.....
- UML 行为图之用例图 总结
学习UML图形 推荐阅读<UML参考手册>第2版. http://www.umlchina.com/ 推荐微软的开发软件设计模型 http://msdn.microsoft.com/zh ...
- 学习笔记_Java_day13_JSTL_自定义标签库(9)
自定义标签 1 自定义标签概述 1.1 自定义标签的步骤 其实我们在JSP页面中使用标签就等于调用某个对象的某个方法一样,例如:<c:if test=””>,这就是在调用对象的方法一样.自 ...
- javascript 将多维数组转换为一维数组
/** * 2013年9月去面试的时候,有面试过这样子一道题目: * 题目是这样子的:将一个多维数组转换成一维数组并返回该数组,类似 * [1,2,3,[4,5,6,[7,8]],9]转换后为:[1, ...
- 计数排序之python 实现源码
old = [2, 5, 3, 0, 2, 3, 0, 3] new = [0, 0, 0, 0, 0, 0] for i in range(len(old)): new[old[i]] = new[ ...
- ASP.NET服务端基本控件介绍
ASP.NET服务端基本控件介绍 大概分为三种控件: HTML控件,ASP.NET把HTML控件当成普通字符串渲染到浏览器端,不去检查正确性,无法在服务端进行处理ASP.NET服务端控件,经过ASP. ...
- ubuntu上 安装 基于sphinx 的 coreseek 全文搜索
原生sphinx不支持中文, sphinx-for-chinese匹配中文时也不返回结果 ,真纠结, 最好试了 coreseek,这个能正确返回结果了, 所以记录一下 1 http://www.co ...