J2EE--JDBC

JDBC


java Data Base Connectivity Java数据库链接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提

供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和

接口,使数据库开发人员能够编写数据库应用程序

 

说到这里就想联想了以前vb和数据库原理中的ODBC 它的体系结构下图

 


 

 

JDBC的体系结构

 


 


比较


为何不使用ODBCODBC几乎也可以访问所有的数据库。为何不使用ODBC。原因:


  1.  java中直接使用ODBCjava的安全,实现坚固性就有许多缺陷,
  2.  ODBC很难懂,将简单和高级功能混在一起。很复杂。
  3.  JDBC保证了简单功能简便性。同时允许使用高级功能。

 

JDBC编程五步骤

 

1驱动程序注册(DreiverManager

2 jdbcUrl:获得数据库链接

3创建sql操作对象

4 ResultSet:处理结果集

5关闭操作

 


1  驱动程序注册;三种方式

  • 通过Class.forName("驱动程序名称") 

Try{
Class.forName("COM.cloudscape.cor.JDBCDriver");
 
}catch(ClasdsNotFoundExceptione)
{
}


  • 创建Driver对象

     Driver d=newsun.jdbc.odbc.JdbcOdbcDriver();

 

  • 通过系统属性jdbc.drives

 

2  获取数据库链接


通过DriverManager获取数据库的链接

DriverManager.getConnection(Stringurl, Stirng user, String pass)


当使用DriverManager来获取链接,需要传入三个参数:分别是数据量的url、用户名、密码。

 

通过connecton对象创建statement对象,有如下三个方式


createStatement()创建基本的Statement对象。

prepareStatement(Stringsql):根据传入的sql语句创建预编译的Statement对象。

prepareCall(Stringsql):根据传入的sql语句创建CallableStatement对象

 

PreparedStatement语句

 

该对象中的sql语句具有一个或多个参数,每个参数保留一个“?"

举例: PreparedStatementpstmt =
 con. prepareStatement(“UPDATE table4 SET  m = ? where = ? ”);
pstmt. setInt(1, 50);
pstmt. setString(2, “title”);
注:用来设置 IN 参数值的 setter 方法(setShort、setString 等等)必须指定与输入参数的已定义 SQL 类型兼容的类型
 


3 数据操作


Statement执行sql语句,有三个方法执行

execute:可以执行任何SQL语句,单比较麻烦

executeUpdate:可以执行DML、DDL语句。执行DML返回受影响的SQL语句行数,执行DDL返回0;

executeQuery:只能执行查询语句,执行后返回代表查询结果的ResultSet对象。

 

4 操作结果,主要移动指针和获得值


实例

JDBC直接连接访问数据库

 

Import java.sql.*;
Try{
 
Class.forName("com.pointbase.jdbc.jdbcUniversalDriver"); //设置JDBC的链接驱动类型
//设置链接
Connectioncon=DriverManager.getConnect("jdbc:pointbase://server:port/MyDatabase");
//设置链接语句
Statenebtstnt=ci=on.createStatement();
 
Stringsql="select * from mytable";
ResultSetres=stmt.executeQury(sql);
//操作结果集
While(res.next()){
String col1=res.getString("mycolumn1");
Int col2=res.getint("mycolumn2");
 
}
 
}catch(exception e)
{
}


 


 

 

 

小结: 

通过以上的实例了解多JDBC是执行sql语句的api,堪比ADO.net. 

它包含驱动的服务管理,常用的操作方法,执行sql语句的api接口,包括静态,动态,(批量操作)已经存储过程等对数据结果集的操作也不乏诸多方法。注意异常的抛出处理。对于事务的实例,JDBC也有它自己的特点,事务的的四大特性等,所以说jdbc是一个灵活的sql操作,简单也复杂。

 

评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值