DAO模型

前面我们在使用JDBC时解决的都是一些很简单的问题,例如登录,注册等等,所以有些例直接把代码写在了main方法中。这种写法很容易出现代码臃肿,耦合度高,不能模块化开发等诸多弊端,特别是将来我们做大型实战项目时该怎么办呢?这些业务会更加复杂。DAO模式就可以解决这个问题。

DAO:数据存取对象,它是位于业务逻辑和底层数据库之间,

专门使用JDBC实现数据库持久化的一种“套路”, 通常称之位DAO模型

使用DAO模型进行项目开发的优势:

1. 隔离了业务逻辑代码和数据库访问代码,分工明确,降低耦合性,提高可重用性。

2. 采用面向结口编程,提高了项目的可扩展性和可维护性。

一个典型的DAO模型主要有几部分组成,

1. 一个工厂类,主要负责创建和关闭Connection对象

2. DAO接口定义业务的方法

3. DAO实现类,实现DAO接口,完成具体功能

4. 实现类,存储和传递数据

以前已经使用JDBC实现了对stuinfo表的增删改查等操作,

下面通过DAO模型对之前的代码进行重构。

DAO模型的更多相关文章

  1. jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件

    day17总结 今日内容 l JDBC 1.1 上次课内容总结 SQL语句: 1.外键约束:foreign key * 维护多个表关系! * 用来保证数据完整性! 2.三种关系: * 一对多: * 一 ...

  2. 一个通用的DAO模型实现增删改查

    首先三个架包: mysql-connector-java-jar commons-dbcp-1.4jar commons-pool-1.5.5jar 导进去: (从上往下一次调用,实现功能) ---- ...

  3. DAO模型 架构

    这是项目的架构 dao层下面有一个平级的包 impl   //dao层  访问数据库. GradeDAOImpl 他继承了BaseDAO 实现了IGradeDAO接口 public class Gra ...

  4. DAO模型设计实现数据的 增,删,改,查方法

    连接数据库方法,及反射获取数据,以前的方法相同,测试类 是在DAO模型下建立的 ------------------------------------------------------------ ...

  5. 一些免费收费api收藏

    转载:http://blog.csdn.net/sdjianfei/article/details/53157334 一 .api 1.http://apistore.baidu.com/astore ...

  6. MVC模式(Model View Controller)下实现数据库的连接,对数据的删,查操作

    MVC模式(Model View Controller): Model:DAO模型 View:JSP  在页面上填写java代码实现显示 Controller:Servlet 重定向和请求的转发: 若 ...

  7. Spark大型项目实战:电商用户行为分析大数据平台

    本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分 ...

  8. 移动端开发者福利-免费收费api收藏

    一 .api 1.https://www.juhe.cn/ 跟百度api集市差不多,超级赞,做好认证就行了,我有20+认证能用的免费api 2.http://apistore.baidu.com/as ...

  9. 东软Unieap平台

    东软Unieap平台 开发环境与技术栈 操作系统 WINDOS7 数据库 Oracle 开发语言 JAVA 版本控制工具 git 框架 Unieap是基于现在主流的JAVA开发框架(Hibernate ...

随机推荐

  1. plsql查找不到带中文的纪录

    今天在另外的电脑用plsql查询不到带中文的记录 select * from test where name like '%测试%' 然后发现是系统的环境变量还没设置好所造成的.在系统变量加入如下变量 ...

  2. OpenCV 人脸识别 C++实例代码

    #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include & ...

  3. ios 获取手机的IP地址

    - (NSString *)getIPAddress:(BOOL)preferIPv4{ NSArray *searchArray = preferIPv4 ? @[ IOS_VPN @"/ ...

  4. Data组件的JSON数据格式

    {     // "@type" - 类型标识,"table"表明这个JSON是一个table结构的数据     "@type" : &qu ...

  5. 如何使用android百度地图离线地图

    1.首先把离线地图放在android工程下的assets里面. 注意:建议离线地图下载通过百度地图APIDEMO去下载,因为到官网上下载的离线地图文件格式不一样,APIDEMO的格式是.dat,而官网 ...

  6. vuejs的使用方法

    1.安装webpack打包工具 npm install -g webpack 2.安装vue客户端 npm install -g vue-cli 3.初始化项目 vue init webpack de ...

  7. MySql数据库:Host 'localhost' is not allowed to connect to this MySQL server

    修改mysql的root密码后,出现Host 'localhost' is not allowed to connect to this MySQL server 错误. 解决办法: C:\Progr ...

  8. React Native MAC上环境搭建笔记

    今天花了一点时间搭建了一下react native环境,在这个过程中遇到了一些问题,处理并总结一下,年纪大了记性不好,只能多写写...真是岁月不饶人啊! 第一步:安装最新版本的Xcode工具 第二步: ...

  9. Simulink Memory vs Unit Delay

    Memoryブロック.Unit Delayブロック共に前回の入力値を出力しますが.動作するタイミングが異なります. ●Memoryブロック シミュレーションの各時刻(ステップ)で動作し.「1ステップ」 ...

  10. window10 office 手工完全卸载

    在地址栏输入itellyou,点击第一个搜索结果,可以从微软官方网站下载office安装. 一下是一点需要注意到的地方: 本次安装的是office2016其它类似 下载解压有的目录结构: 如果你是x6 ...