JDBC—DAO

1、JDBC sql

什么是JDBC?
JAVA DataBase Connectivity (Java 数据库链接技术)
由Java编写的一组类和接口组成,为各类类型的数据库提供
统一的访问。
JDBC的做用?
一种将程序数据持久化到数据库的机制。
JDBC的组成?
1:JDBC API 主要作三件事:
与数据库创建链接/发送SQL语句/处理结果
2:JDBC Driver Manager 驱动程序管理器
3:JDBC驱动 不一样的数据库须要不一样的驱动,这些驱动都实现
了JDBC API中的各类接口。
数据库

JDBC访问数据库的步骤?
1:加载JDBC驱动
2:与数据库创建链接
3:发送SQL语句并获得返回的结果
4:处理返回结果
(Structured Query Language)
安全

两种经常使用的驱动方式:
1:JDBC-ODBC桥连方式链接数据库
2:纯Java方式链接数据库
------------------------------
常见的链接数据库错误:
一、驱动名错误
二、数据链接字符串,数据库用户名,输错
三、数据库操做结束,没有关闭数据库链接,占用系统资源
四、关闭数据库链接的语句没放到finally语句中,可能不被执行
工具

  1. (一)JDBC-ODBC链接数据库

一、在不须要ResultSet对象,Statement对象,Connection对象的时候,显示地关闭它们
public void close() throws SQLException
二、要按照,先ResultSet结果,后Statement,最后
Connectiond的顺序关闭资源。由于ResultSet是经过Statement执行SQL命令获得的,而Statement是须要在建立链接以后才能够
使用的。
三、用户若是不关闭ResultSet,当Statement关闭,从新执行或
用于多从结果序列中得到下一个结果时,该ResultSet将自动关闭
性能

  1. (二)纯JAVA方式链接数据库

 

(三)经常使用的5个对象 spa

 

Connection,DriverManager(略,见用例) 3d

 

一、Statement经常使用方法 对象

二、ResultSet经常使用方法 blog

 

三、PreparedStatement的介绍 继承

 

a : PreparedStatement接口继承自Statement接口:(优势):

1.提升了代码的可读和可维护性

2.提升了SQL语句的执行性能

3.提升了安全性( or '1'='1' 注入拼接攻击)

 

b : PreparedStatement接口的使用

使用PreparedStatement的execute(String sql)方法执行sql语句若是是查询的话返回true,若是是更新或插入的话就返回false因此执行插入或更新语句应该使用executeUpdate():

(1) 返回SQL 数据操做语言 (DML) 语句的行数

(2) 对于无返回内容的 SQL 语句,返回 0。

 

c : statement和preparedStatement的区别:

1.statement每次执行sql语句,相关数据库都要执行拼接sql语句的编译,preparedstatement是预编译的,代码可重用支持批处理。使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操做并不会带来额外的好处。

2: statement须要拼接sql语句,preparedstatement的sql语句能够用变量替换,达到代码重用的好处

3.安全性:传递给Statement的字符串参数会自动被驱动器忽略。传递给PreparedStatement对象的参数能够被强制进行类型转换,使开发人员能够确保在插入或查询数据时与底层的数据库格式匹配。

 

d : 使用PreparedStatement操做数据库的三步骤:

1.建立PreparedStatement对象

2.设置每一个输入参数的值

3.执行SQL语句

 

PreparedStatement用例

 

 

JDBC用例:

 

 

2、JDBC—DAO模式

 

什么是DAO?
1:Data Access Objects :数据存储对象:
2:DAO指位于业务逻辑和持久化数据之间实现对持久化数据的访
问,也就是将数据库操做都封装起来,对外提供相应的接口
3:[采用面向接口,有利于代码的,低耦合高类聚原则]
DAO的优点?
1:隔离业务逻辑代码和数据访问代码
2:隔离不一样数据库实现
DAO的组成?
1:DAO接口 把对数据库的全部操做定义为抽象方法
2:DAO实现类 不一样数据库给出的DAO接口定义方法的具体实现
3:实体类 用于存放和传输对象数据
4:数据库链接和关闭工具
避免了数据库链接和关闭代码的重复

 

相关文章
相关标签/搜索