java 关于JDBC和DAO模式使用

 JDBC(全称:Java Data Base Connectivity)是java数据库连接简称 ,提供连接各种数据库的能力

JDBC API主要的功能:

         1.与数据库建立连接

         2.执行SQL语句

         3.处理结果

JDBC关键字的使用:

     1.DriverManager:依据数据库的不同,管理JDBC驱动

     2.Connection:负责连接数据库并且担任传送数据库的任务

     3.Statement:由Connection产生、负责执行SQL语句

     4.ResultSet:负责保存Statement执行后所产生的查询结果

     5.PreparedStatement接口(预编译的SQL语句)提高了SQL语句的性能、代码的安全性、代码的可读性和可维护性

 

 Statement常用方法:

   ResultSet executeQuery(String sql):执行SQL查询并且获取ResultSet对象

   Int executeUpdate(String sql):可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数

   Boolean execute(String sql):可以执行任意SQL语句,然后获得一个布尔值,表示是否返回ResultSet

   Boolean next():将光标从当前位置向下移动一行

   Boolean previous():游标从当前位置向上移动一行

   Void close():关闭ResultSet对象

   Int getInt(int colIndex):以int形式获取结果集当前行指定列号值

   Int getInt(String colLabel):以int形式获取结果集当前行指定的列名值

   Float getFloat(int colIndex):以float形式获取结果集当前行指定列号值

   Float getFloat(String colLabel):以float形式获取结果集当前指定列名值

  String getString(int colIndex):以Sting形式获取当前行指定列号值

  String getString(String colLabel):以String形式获取当前行指定列名值

 

PreparedStatement比Statement提高了代码的可读性和可维护性,提高了SQL语句执行的性能,提高了安全性

 

JDBC的操作步骤:

   1.加载JDBC驱动

   2.与数据库建立连接

   3.创建Statement或PreparedStatement对象

   4.发送SQL语句,并且得到返回结果

   5.处理返回结果

   6.释放资源

遍历结果集中数据可使用列号或者列名标识列

 

 

数据访问层 - DAO模式

 

持久化是将程序中的数据在瞬时状态下和持久状态间转换的机制

持久化的主要操作:读取、查找、保存、修改、删除

DAO(Data Access Object):数据存取对象,位于业务逻辑和持久化数据之间,能够实现对持久化数据的访问

DAO在实体类与数据库之间起着转换器的作用,能够把实体类转换为数据库中的记录

DAO模式是作用:

1.隔离业务逻辑代码和数据访问代码

2.隔离不同数据库的实现

DAO模式的组成部分:

1.DAO接口

2.DAO实现类

3.实体类

4.数据库连接和关闭工具类

 

 

分层开发:

一种化大为小,分而治之的软件开发方法

分层的特点:

     1.每一层都有自己的职责

     2.上层不用关心下次的实现细节,上层通过下层提供的对外接口来使用其功能

     3.上一层调用下一层的功能,下一层不能调用上一层的功能

分层开发的好处:

     1.各层专注于自己功能的实现,便于提高质量

     2.便于分工协作,提高开发效率

     3.便于代码复用

     4.便于程序扩展

分层原则:

    封装性原则

       每个层次向外公开接口,但是隐藏内部细节

    顺序访问原则

       下一层为上一层服务,但不使用上层的服务

分层结构中,不同层之间通过实体类传输数据

 

根据分层开发DAO模式创建步骤:

开始流程:

1:建立数据库epet,建表;

2:创建实体类,和相应的数据库的表是对应的;

3:创建Dao的基类接口类;

4:创建Dao的实现类;

5:创建具体表的Dao类;

6:创建具体表的Dao实现类;

7:创建业务逻辑层的接口类;

8:创建业务逻辑层的接口实现类;

9:创建测试类;

 

posted @ 2016-12-16 08:42  _奇点  阅读(6964)  评论(1编辑  收藏  举报