JAVA(2)——JDBC

刚接触JDBC的时候,有时候就在想,为什么java要用JDBC,而不是直接使用之前在VB中就学习过的ODBC,由于ODBC是在JDBC之前出现,所以ODBC肯定由于无法完毕某些操作或者不能非常顺利的完毕某些操作,所以才有了JDBC的出现,那么,在JAVA的使用中,JDBC交ODBC究竟有哪些优势呢?

那么,先简单的介绍一下ODBC:

开放数据库互连(Open DatabaseConnectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库訪问的标准API(应用程序编程接口)。这些API利用SQL来完毕其大部分任务。ODBC本身也提供了对SQL语言的支持,用户能够直接将SQL语句送给ODBC。到眼下为止,微软的ODBC可能是用得最广泛的訪问关系数据库的API。它提供了连接差点儿不论什么一种平台、不论什么一种数据库的能力。

那么,为什么不直接从Java中直接使用ODBC呢?

回答是能够从Java中使用ODBC,但最好在JDBC的协助下,用JDBC-ODBC桥接器实现。那么,为什么须要JDBC呢?要回答这个问题,有这么几个方面:

1)ODBC并不适合在Java中直接使用。ODBC是一个C语言实现的API,从Java程序调用本地的C程序会带来一系列类似安全性、完整性、健壮性的缺点

2)其次,全然精确地实现从C代码ODBC到JavaAPI写的ODBC的翻译也并不令人惬意。比方,Java没有指针,而ODBC中大量地使用了指针,包含极易出错的空指针“void*”。因此,对Java程序猿来说,把JDBC设想成将ODBC转换成面向对象的API是非常自然的。

3)ODBC并不easy学习,它将简单特性和复杂特性混杂在一起,甚至对很easy的查询都有复杂的选项。而JDBC刚好相反,它保持了简单事物的简单性,但又同意复杂的特性

4)JDBC这种JavaAPI对于纯Java方案来说是必须的。当使用ODBC时,人们必须在每一台客户机上安装ODBC驱动器和驱动管理器。假设JDBC驱动器是全然用Java语言实现的话,那么JDBC的代码就能够自己主动的下载和安装,并保证其安全性,并且,这将适应不论什么Java平台,从网络计算机NC到大型主机Mainframe。

总而言之,JDBCAPI是能体现SQL最基本抽象概念的、最直接的Java接口。它建构在ODBC的基础上,因此,熟悉ODBC的程序猿将发现学习JDBC很easy。JDBC保持了ODBC的基本设计特征。实际上,这两种接口都是基于X/OPENSQL的调用级接口(CLI)。它们的最大的不同是JDBC是基于Java的风格和长处,并强化了Java的风格和长处。

所以,总结上面JDBC相对于ODBC的长处,我们也能够总结出JAVA安全、完整、健壮、易学习、可移植性的特点,这也正好是在JAVA总结(1)中提到的一些特点,既然JDBC有这么多长处,那么我们如今就系统的介绍一下JDBC.

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于运行SQL语句的Java API,能够为多种关系数据库提供统一訪问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此能够构建更高级的工具和接口,使数据库开发者能够编写数据库应用程序。

JDBC API的工作原理

JDBC的用法:

1、   装载驱动。

装载驱动程序仅仅须要很easy的一行代码。比如,你想要使用 JDBC-ODBC 桥驱动程序, 能够用下列代码装载它:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

你的驱动程序文档将告诉你应该使用的类名。比如, 假设类名是 jdbc.DriverXYZ ,你将用代码下面的代码装载驱动程序:

Class.forName("jdbc.DriverXYZ");

载入 Driver 类后,它们就可以用来与数据库建立连接。

2、   建立连接

第二步就是用适当的驱动程序类与 DBMS 建立一个连接。下列代码是一般的做法:

Connection con =DriverManager.getConnection(url, "myLogin", "myPassword");

JDBC怎样建立各个数据库的连接

 1、Oracle8/8i/9i数据库(thin模式)

   Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

   String url="jdbc:oracle:thin:@localhost:1521:orcl";

   //orcl为数据库的SID

   String user="test";

   String password="test";

   Connection conn= DriverManager.getConnection(url,user,password);

2、DB2数据库

   Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();

   String url="jdbc:db2://localhost:5000/sample";

   //sample为你的数据库名

   String user="admin";

   String password="";

   Connection conn= DriverManager.getConnection(url,user,password);

3、Sql
Server7.0/2000数据库

   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

   Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";

   //mydb为数据库

   String user="sa";

   String password="";

   Connection conn= DriverManager.getConnection(url,user,password);

4、Sybase数据库

   Class.forName("com.sybase.jdbc.SybDriver").newInstance();

   String url =" jdbc:sybase:Tds:localhost:5007/myDB";

   //myDB为你的数据库名

   Properties sysProps = System.getProperties();

   SysProps.put("user","userid");

   SysProps.put("password","user_password");

   Connection conn= DriverManager.getConnection(url, SysProps);

5、Informix数据库

   Class.forName("com.informix.jdbc.IfxDriver").newInstance();

   String url =

   "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

   user=testuser;password=testpassword";

   //myDB为数据库名

   Connection conn= DriverManager.getConnection(url);

 6、MySQL数据库

   Class.forName("org.gjt.mm.mysql.Driver").newInstance();

   String url="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicod

   e=true&characterEncoding=8859_1"

   //myDB为数据库名

   Connection conn= DriverManager.getConnection(url);

7、PostgreSQL数据库

   Class.forName("org.postgresql.Driver").newInstance();

   String url ="jdbc:postgresql://localhost/myDB"

   //myDB为数据库名

   String user="myuser";

   String password="mypassword";

   Connection conn= DriverManager.getConnection(url,user,password);

到此,已经对JDBC有了一定的了解,想要了解其它javaEE的规范,敬请期待!

JAVA(2)——JDBC

时间: 2024-10-24 22:05:19

JAVA(2)——JDBC的相关文章

Java 用jdbc连接数据库

Java 用jdbc连接数据库 准备 安装mysql 下载 mysql-connector-java-5.1.40-bin.jar驱动包 步骤 创建jdbc项目 导入mysql-connector-java-5.1.40-bin.ja包 创建配置文件 jdbc.properties user=root password=1230 driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql:///atguigu 代码 import java.io.IO

(详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

欢迎任何形式的转载,但请务必注明出处. 1.jdk 点击查看安装和环境配置教程 2.Eclipse 点击进入官网下载 注意下载完成打开.exe后,出现下图界面,有很多版本供选择 本人目前在学JSP所以安装的是Java EE版本,初学者可以选择第一个Java Developers版本 3.Mysql 点击进入官网下载 点击进入推荐安装教程+环境配置 下载页面注意事项 (虽然选项只有32位的,但下载完成后32位和64位都会安装) (上面的是在线安装,下面的是离线安装,建议选择离线安装) 系列文章 (

JAVA之JDBC的简单使用(Mysql)

JDBC增删查改 昨天七七八八的关于Mysql的配置 和 基本使用也算是初步解决了,今天 抽空看了JAVA的JDBC(JAVA DATA BASE CONNECTION)我也不知道我全称拼写对对不对??,笔者英文水平太渣渣. 具体的关于解释jdbc的东东在本文就不阐述了,网上百度一大堆,本文主要记录 实现过程 中的关键点和小坑. 首先 就要把这个问题的解决方法给抛出来 PreparedStatement  的占位符使用 : PreparedStatement是Statement的改良版,具有预编

JAVA使用JDBC连接MySQL数据库 二(2)

本文是对 <JAVA使用JDBC连接MySQL数据库 二>的改进. 上节使用的是PreparedStatement来执行数据库语句,但是preparedStatement需要传递一个sql语句参数,才能创建.然而,DBHelper类只是起到打开和关闭数据库的作用,所以sql语句是要放到应用层部分的,而不是放到DBHelper类中. 而statment不需要传递一个sql语句参数,就能创建. 修改部分如下: public class DBHelper { String driver = &quo

JAVA使用JDBC技术操作SqlServer数据库执行存储过程

Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带参数的新增用户存储过程: CREATE PROCEDURE [dbo].[p_Insert_User] @name nvarchar(50), @UserPwd nvarchar(50) AS BEGIN INSERT INTO tb_User VALUES(NEWID(),@name,@UserPwd)

Java通过jdbc连接sql server2012详细过程

在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式.如果在安装时选用了后者,则重新设置如下: 设置SQL Server 2012的身份验证方式: 1.在连接的服务器上右击,选择属性 2.点击左侧上的安全性,在栏目中选择SQL Server和Windows身份验证 3.设置sa的密码和sa登录名 在根目录下,点击安全性->登录名->选择sa登录名右击选择属性 点击左侧上的常规,在右侧设置登录名sa和密码 4.设置完账号密码

JAVA通过JDBC连接Oracle数据库详解【转载】

JAVA通过JDBC连接Oracle数据库详解 (2011-03-15 00:10:03) 转载▼http://blog.sina.com.cn/s/blog_61da86dd0100q27w.html Java连接Oracle步骤: 1.注册加载驱动 驱动名:DRIVER="oracle.jdbc.driver.OracleDriver"; Class.forName("驱动类名"); 2.获得连接 数据库地址: URL="jdbc:oracle:thi

Java使用JDBC连接任意类型数据库(mysql oracle。。)

package cn.liz.test; import java.io.InputStream; import java.sql.Connection; import java.sql.Driver; import java.sql.SQLException; import java.util.Properties; import org.junit.Test; public class JBDCtest { /** * 编写一个通用的方法, 在不修改源程序的情况下, 可以获取任何数据库的连接

java中JDBC应用示例实验

一.先下载mysql-connector-java-x.x.x-bin.jar包 下载mysql-connector-java-x.x.x-bin.jar,目前最新版为mysql-connector-java-5.1.22-bin.jar.( 在Eclipse中,选择 项目->属性->Java构建路径,在"库"选项卡中,选择"添加外部JAR",找到下载的mysql-connector-java-5.1.22-bin.jar文件,将其添加进项目. 再次编译

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv