DAO思想

为什么需要DAO包,出现的作用什么?
正常情况下一个用户对数据库进行访问,其实是没有必要使用DAO
不可能是一个用户对当前数据库进行访问
例子:
    客户端存了200行操作数据库的代码
    客户端存了200行操作数据库的代码
    客户端存了200行操作数据库的代码 
    客户端存了200行操作数据库的代码      
    需要访问数据库 这200行代码的操作其实都是相同,出现大量相同重复性代码,破坏一个原则DRY原则
  
通过一种方式将这些相同代码进行一个封装,对外提供统一的接口,这样操作数据的接口统一命名为 DAO
数据的分离处理可以很好的体现 MVC设计模式的结构

DAO包主要的作用:

其实就是完成对数据库的增删改查(CRUD) 
DAO(Data Access Object)
DAO就是和数据完成数据交互的业务逻辑 --> 对应着MCV中M层

DAO包的设计规范:

DAO包是有DAO接口和DAO实现类和描述类组成,在开发中会多件一个包测试DAO包

DAO的命名:
公司域名倒写.项目名.DAO --> 主包
例子:
   com.qfedu.项目名称.domain --> 存储到是domain文件
   com.qfedu.项目名称.dao    --> 存储dao的接口 -->封装了处理数据库的方法
   com.qfedu.项目名称.dao.impl --> 存储dao包下的实现类
   com.qfedu.项目名称.test     --> 存储的是测试文件 --> 项目开发完成必须删除
   
   简单解释一下对应包存储的文件:
     domain包  --> 存描述类会以英文单词描述 例如Student --> JAVABEAN规范
     dao包      --> 接口接口中的名称 I+ domain下的描述类名称+DAO  IStudentDAO -->IXXXDAO
     dao包的实现 impl--->名称 XXXDAOImpl --> 接口的实现了   domain下的描述类名称
     test包    --> 名称  XXXDAOTest --> domain下描述类的名称  

DAO包的作用设计和命名相关推荐

  1. Java项目 常用包的命名及理解【dao包、domain包、service包、utils包、web包、impl包】

    JavaWeb 黑马旅游网 项目结构:       目录 1.dao包 2.domain包 3.service包 4.utils包 5.web包 6.impl包 1.dao包 Dao:数据库相关操作 ...

  2. 充分发挥bpl包的作用

    充分发挥包的作用 本章要点: n        为何要用包 n        为何不用包 n        包的类型 n        包文件 n 使用运行期包 n        把包安装到Delph ...

  3. 【php毕业设计】基于php+mysql+apache的网络数据包分析工具设计与实现(毕业论文+程序源码)——网络数据包分析工具

    基于php+mysql+apache的网络数据包分析工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于php+mysql+apache的网络数据包分析工具设计与实现,文章末尾附有本毕业设 ...

  4. Android Support 包的作用、用法

    1, Android Support V4, V7, V13是什么? 本质上就是三个java library. 2,  为什么要有support库? 如果在低版本Android平台上开发一个应用程序, ...

  5. Jar/War/Ear等包的作用与区别详解

    Jar/War/Ear等包的作用与区别详解 以客户角度来看,jar文件就是一种封装格式,用户不需要知道jar包中有多少个.class格式的文件及每个文件中的功能与作用,也可以得到相应的访问的结果.ja ...

  6. java ear war_[转] 基于Java的打包jar、war、ear包的作用与区别详解

    以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果.除jar以外对于J2EE来说还有war和ear.区 ...

  7. SSH-jar包相应作用

    1)Struts中的jar包 jar包名称 作用 struts2-core-2.x.x.jar struts2的核心jar包 javassist-3.x.x.GA.jar 一个开源的分析.编辑和创建J ...

  8. 最新版idea如何在包下建立子包(dao包下建立impl包)

    本人Java新手,对idea也不太熟悉,最近想在src源文件夹下建立包后,再建立子包时出了问题(dao包下建impl),后来上网搜了资料才学会了操作.接下来给大家演示 假如我想建一个下图的体系:pro ...

  9. php dao类设计,DAO数据访问对象设计 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架...

    关于DAO数据访问对象设计其实是关于GoFrame框架工程化实践中比较重要一块设计. DAO设计结合GoFrame的ORM组件性能和易用性都很强,可以极大提高开发和维护效率.看完本章节内容之后,小伙伴 ...

  10. (网络实验)基于Jnetpcap的网络嗅探器(抓包程序)设计与实现

    基于Jnetpcap的网络嗅探器(抓包程序)设计与实现 作者:程哥哥 学号:xxxx 引言: 此程序是由自己编写的个人网络嗅探器,相当于著名的包捕获软件Wireshark的简化版,界面参考至别人的博客 ...

最新文章

  1. java第5天_java第5天的代码
  2. MERGE批量增删查改数据
  3. 【Android 安全】DEX 加密 ( Application 替换 | Android 应用启动原理 | LoadedApk 后续分析 )
  4. Linux / argv、environ 和 env 的联系
  5. c语言里有js的预编译环节吗,C语言第十一讲,预处理命令.
  6. [转]引用 VC 对话框设置位图背景并透明控件
  7. Linux下Vivado安装流程
  8. 泛微自带第三方短信接口
  9. 机器学习库sklearn之怎么划分训练集和测试集
  10. 电脑版美食大战老鼠放置html,美食大战老鼠2
  11. 小程序未来移动社交电商!
  12. Footprint:一夜暴涨250%的Boba,能否成为下个Layer 2代表
  13. java if或_java中if条件语句里条件的并列
  14. 学生选课系统业务需求
  15. Redis源码初探(1)简单动态字符串SDS
  16. 服务器安装找不到lsi驱动,IBM 机架式服务器RAID卡驱动问题
  17. 出租车不需要司机了?带你体验无人驾驶出租车!|『智能产品家』第三期
  18. 泰克示波器查眼图_如何用泰克示波器测量眼图
  19. vue + 百度地图 +点位标注
  20. gInk:一款好用的屏幕标注写画软件

热门文章

  1. gdb学习20:总结
  2. 6.26 Python小记**args** kwargs
  3. 执行Jar包报错FileNotFoundException: /home/data/t.txt (Too many open files)以及Cannot run program “/bin/bash
  4. 债券指数基金以及债券ETF
  5. 详述GPS原理及RTK技术应用
  6. 解决error: invalid operands of types ‘const char [6]‘ and ‘const char [6]‘ to binary ‘operator+‘
  7. 电影 1982年少林寺拍摄集锦
  8. linux修改重传次数,《关于TCP SYN包的超时与重传》——那些你应该知道的知识(四)...
  9. 可能有用的篡改检测常识
  10. 【目标检测】39、一文看懂计算机视觉中的数据增强