jdbc(037)

一.jdbc

1.简介

是java数据库连接,是javaEE下的平台技

术规范,定义了SQL语句的执行标准。

2.数据库驱动

数据库厂商对jdbc规范的具体实现,不同

数据产品的数据驱动名字有差异,在程序

中需要依赖数据库驱动来完成对数据库的

操作。

二.JDBC3.0 标准中常用接口与类

1.Driver接口

定义驱动对象具备的能力,实现该接口的

类称为数据库驱动类,连接数据库时必须

通过反射机制加载数据库驱动类。

加载 MySql 驱动:Class.forName

("com.mysql.jdbc.Driver");

加载 Oracle 驱动:Class.forName

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

2.DriverManager 类

通过实例化的数据库驱动对象,能够建立

应用程序与数据库之间建立连接。并返回

Connection 接口类型的数据库连接对象。

(1)常用方法

getConnection(url,user,password)

3.connection接口

Connection 与数据库的连接(会话)对象

常用方法:

(1)createStatement(),创建Statement

接口类型的对象,想数据库发送sql。

(2)preparedStatement(sql),创建向数

据库发送预编译 sql的

PrepareSatement  接口类型的象。

4.Statement 接口

由 createStatement 创建,用于发送简单

的 SQL 语句(不支持动态绑定)。

常用方法:

execute(String sql):执行参数中的

SQL,返回是否有结果集。

  executeQuery(String sql):运行 select

  语句,返回 ResultSet 结果集。

executeUpdate(String sql):运行

insert/update/delete 操作,返回更新的

行数。

5.PreparedStatement 接口

继承自 Statement 接口,

PreparedStatement 对象比 Statement 对

象的效率更高,并且可以防止 SQL 注入。

常用方法:

execute() 执行当前 SQL,返回个

boolean 值

executeUpdate()运行

insert/update/delete 操作,返回更新的

行数。

executeQuery() 执行当前的查询,返回一

个结果集对象

setInt(int parameterIndex, int x)向当

前 SQL 语句中的指定位置绑定一个 int

setString(int parameterIndex, String

x)向当前 SQL 语句中的指定位置绑定一个

String 值

6.ResultSet 接口

ResultSet 提供检索不同类型字段的方

法。

(1)常用方法

getString(String columnName)获得在数

据库里是 varchar、char 等类型的数据对

象。

(2)2ResultSet 对结果集进行滚动的方

法:

next():移动到下一行。

Previous():移动到前一行。

absolute(int row):移动到指定

行。

beforeFirst():移动 resultSet 的

最前面。

afterLast() :移动到 resultSet

的最后面。

三.jdbc的使用

1.使用步骤

加载数据库驱动程序 → 建立数据库连接

Connection → 创建执行 SQL 的语句

Statement → [处理执行结果 ResultSet]

→ 释放资源

2.注册驱动

Class.forName("com.mysql.jdbc.Drive

r");

3.获取连接

Connection conn=

DriverManager.getConnection("jdbc:m

ysql://localhost:3306/bjsxt,"root",

"root");

4.执行 SQL

Statement state =

conn.createStatement();

state.excuteUpdate(sql)

5.释放资源

close()

四.封装jdbc类

1.创建jdbc.properties文件,将url路径

信息写入,文件以键值对形式存在,只

有键,值,等号,不存在任何其他符号

2.连接属性全为空,在static中对属性赋

值,并加载驱动。ResourceBundle

bundle =

ResourceBundle.getBundle("jdbc");

通过getString("键")获取值。

3.设计方法连接数据库

4.设计关闭数据资源的方法

五.sql注入

六.PreparedStatement 对象的使用

1.1PreparedStatement 特点:

PreparedStatement 接口继承Statement

接口

PreparedStatement 效率高于Statement

PreparedStatement 支持动态绑定参数

PreparedStatement 具备 SQL 语句预编

译能力使用 PreparedStatement 可防止

出现 SQL 注入问题

2.使用

parparedStatement于Statement不同在

于执行sql语句,执行语句时,可以使

用?占位符,通过setString(index,

value)为占位符赋值。

你可能感兴趣的:(jdbc(037))