简单的三层框架以及使用dbutils进行数据库操作(入门)
1. 搭建三层框架
1.1. 什么是三层框架
三层框架就是将代码简单的分为三层并对某些地方进行必要的封装,方便日后维护,主要分为以下三部分:
界面层(Swing或JSP):主要是界面显示的代码。
业务层(business):主要是处理业务逻辑的代码。
数据访问层(DAO):主要是与数据库交互的代码。
1.2. 各层之间如何协作
关系:界面层(调用) à 业务层(调用) à 数据访问层(与数据库交互)
(显示)界面层 ß (结果)业务层 ß (结果)数据访问层
数据传递:各层之间将数据封装成实体类(entity)进行传递。
写入信息:界面层将用户录入的信息封装成实体类对象,然后传给业务层进行相关的业务处理,然后业务层选择需要调用的数据访问层,数据访问层负责将传递过来的实体对像中封装的信息提取出来,并且拼出SQL语句,将信息写入数据库。
显示信息:数据访问层将数据库中的数据提取出来封装成实体对象,如果有多个对象的话继而封装成集合,然后传递给调用它的业务层进行业务处理,业务层再将处理过的实体对象或是集合传递给调用业务层的界面,界面最后将实体对象或是集合中封装的信息提取出来进行显示。
2. 编写实例(省略界面层和业务层)
需要的jar包:数据库直连包,dbutils包
数据库:stuDB
表:USERS
表结构:userId int NOT NULL IDENTITY(1,1) PRIMARY KEY,
userName nvarchar(20) NOT NULL,
password nvarchar(20) NOT NULL,
realName nvarchar(20) ,
sex nvarchar(2)
实体类:UsersEntity
2.1. 没有使用dbutils的数据访问层(只需直连包)
首先,创建所有数据访问类的抽象基类BaseDAO
接着,创建USERS表的数据访问类:USersDAO
最后,只需要在业务层调用这些方法就行了。
2.2. 使用dbutils的数据访问层(需直连包,dbutils包)
首先,创建所有数据访问类的抽象基类BaseDAO
接着,创建USERS表的数据访问类:USersDAO
最后,只需要在业务层调用这些方法就行了。
但是,如果使用dbutils包的话,需要注意以下几点:
a、实体类属性的名称要与库中字段的名字一致,否则无法查到结果。
b、ResultSetHandler rsh = 接口的实现类
如果返回对象的话使用new BeanHandler();
如果返回的是集合的话使用 new BeanListHandler();
这里只介绍了dbutils的一种基本用法,至于dbutils的其他用法,有兴趣的朋友可以参考一下dbutils帮助文档。