一.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)为占位符赋值。