日记JDBC详解

shniitcn5588 2012-03-08 02:47:38

日记JDBC详解

分类: 数据库 2012-03-07 12:40 97人阅读 评论(0) 收藏 举报


JDBC原理概述



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



2,JDBC的实现是由数据库厂商提供,以驱动程序形式提供。



3,JDBC在使用前要先加载驱动。

JDBC对于使用者要有一致性,对不同的数据库其使用方法都是相同的。



driver开发必须要实现Driver接口。

数据库驱动的实现方式

JDBC-ODBC桥接式

JDBC网络驱动,这种方式是通过中间服务器的协议转换来实现的

JDBC+本地驱动,这种方式的安全性比较差

JDBC驱动,由数据库厂商实现。

JDBC的API



java.sql包和javax.sql包

DriverManager类(驱动管理器),它可以创建连接,它本身就是一个创建Connection的工厂(Factory)。

Connection接口,会根据不同的驱动产生不同的连接

Statement接口,发送sql语句

ResultSet接口(结果集),是用来接收select语句返回的查寻结果的。其实质类似于集合。
...全文
165 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shniitcn5588 2012-03-15
  • 打赏
  • 举报
回复
不好意思,前几天忙了,紧接上篇啊!!!
预编译的Statement



PreparedStatement 可以使用参数替代sql语句中的某些参数使用 "?"代替,他先将带参数的sql语句发送到数据库,进行编译,然后PreparedStatement会将参数发送给数据库。

在使用PreparedStatement时,在设置相应参数时,要指明参数的位置和类型,以及给出参数值

根据不同的参数类型使用不同的setXXX(参数的位置,参数值)来设置参数



例:

public void insert(Student s){

Connectioncon=ConnectionFactory.getConnection();//建立连接

Stringsql="insert into student(id,name) values(?,?)";

PreparedStatementps=null;

try{

ps=con.prepareStatement(sql);//创建一个PreparedStatement

int index=1;

ps.setInt(index++,s.getStuId());

ps.setString(index++,s.getName());

ps.executeUpdate();

}catch (SQLException e) {

e.printStackTrace();

}finally{

if(ps!=null)

try{

ps.close();

}catch (SQLException e) {

e.printStackTrace();

}

if(con!=null)

try{

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}
xueshniitcn 2012-03-12
  • 打赏
  • 举报
回复
继续期待中啊!!!!您是做什么的,这么详细的。
简易人 2012-03-10
  • 打赏
  • 举报
回复
兄弟乃高手,这么详细的!
我心飞翔 2012-03-10
  • 打赏
  • 举报
回复
分享一下!
my6755 2012-03-10
  • 打赏
  • 举报
回复
不错啊
shniitcn5588 2012-03-09
  • 打赏
  • 举报
回复

紧接上篇

JDBC应用步骤

1,注册加载一个driver驱动

2,创建数据库连接(Connection)

3,创建一个Statement(发送sql)

4,执行sql语句

5,处理sql结果(select语句)

6,关闭Statement

7,关闭连接Connection。



注意:6,7两个步骤势必须要做的,因为这些资源是不会自动释放的,必须要自己关闭



访问Oracle的数据库的驱动名字叫ojdbc14.jar,这个jar文件中出访的驱动程序的.class文件

要使用这个驱动程序,要先将他加到环境变量PATH中。



一,注册加载驱动driver,也就是强制类加载

Class.forName(Driver包名.Driver类名)。



Driver d=new Driver类();

DriverManager.registerDriver(d);



Oracle的Driver的全名oracle.jdbc.driver.OracleDriver

mysql的Driver的全名com.mysql.jdbc.Driver

SQLServer的Driver的全名com.microsoft.jdbc.sqlserver.SQLServerDriver

1,617

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧