jdbc知识点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

话题一:JDBC简介及基本使用

一:jdbc简介:

1:定义:

JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并且为java开发人员提供调用接口方法。是java访问数据库的唯一的,统一的,底层的API

2:产生的背景和原因:

(1)由java从小设备应用发展到通用语言,跟企业打交道一定要和数据库打交道,这就是java为联结数据库发明API的原因

(2):java的平台无关性,就需要自己重新开发一套平台无关的联结数据库语言,

(3):java希望所用的代码都在虚拟机中运行,以保证安全性。

3:数据库驱动的概念:

驱动本质上是一个某个数据库厂商实现的jdbc接口的类库,

注意:数据库驱动不是一定要实现这个类库中的所有接口,但是必须实现java.sql.Driver接口。

二:jdbc中常使用的接口

1:Driver:驱动

2:DriverManager:辅助管理驱动

3:Connection:数据库联接

4:Statement:对数据库的操作对象(通过SQL语句操作)

5:ResultSet:结果集

三.JDBC应用步骤

1,注册加载一个driver驱动

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

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

String url="jdbc:oracle:thin:@192.168.0.23:1521:tarena";

String user="openlab";

String password="open123";

con=DriverManager.getConnection(url,user,password);

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

String sql="select first_name,id from s_emp";

state=con.createStatement();

4,执行sql语句

ResultSet rs=state.executeQuery(sql)

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

while(rs.next()){

System.out.print(rs.getInt("id"));

System.out.println(""+rs.getString("first_name"));}

6,关闭Statement state.close()

7,关闭连接Connection con.close()

注意:

(1)关闭对象的步骤势必须要做的,因为这些资源是不会自动释放的,必须要自己关闭

(2)要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement 和ResultSet是需要连接时才可以使用的,所以在使用结束之后有可能其他的Statement还需要连接,所以不能先关闭Connection。

四:细节知识点

1:常用驱动类

(1)Oracle的Driver

oracle.jdbc.driver.OracleDriver

(2)mysql的Driver

com.mysql.jdbc.Driver

(3)SQLServer的Driver的全名com.microsoft.jdbc.sqlserver.SQLServerDriver2:

2:常用的url书写格式

(1)Oracle URL的格式

例:jdbc:oracle:thin:@192.168.0.20:1521:tarenadb

(2)MySql URL的写法

例:jdbc:mysql://localhost:3306/tarena

(3)SQLServer URL的写法

例:jdbc:microsoft:sqlserver://localhost:1433/test

3:statement的方法作用和区别

excute():任何语句都可以

executeUpdate():增,删,改,创建

executeQuery():查询

4:固定驱动(了解)

如果想要用固定的driver而不是要让驱动管理器一个一个的找,那么需要明确的driver,可以通过new的方式,显式的创建driver

例如:

Driver drv=new oracle.jdbc.driver.OracleDriver();

DriverManager.registerDriver(drv);

5:激发驱动类加载的方式

直接在获得连接的代码中调用Class.forName(“”);

直接在静态代码块中调用Class.forName(“”);

通过命令行参数传入,(本质上传入的是字符串)

Class.forName(args[0]);

通过虚拟机参数传入

终端命令行传入,

例如Java-Djdbc.drivers=oracle.jdbc.driver.OracleDriver FristJdbc.java

在eclipse中加入虚拟机参数的方式。

6:PreparedStatement的使用(从Statement继承而来)

同构SQL:SQL语句基本一样,只是具体参数值不同.

异构SQL:SQL语句完全不一样.

Statement不足:

1.效率比较低;

2.对字段类型的支持比较差;

3.语法含义不清晰.(结构不清楚)

由于编译时不需要参数,PreparedStatement可以使用"?"来替代sql语句中的某些参数,它先

相关文档
最新文档