DAO 基础学习笔记
一、DAO
1.概念:
(1)Date Access Object(数据存取对象)
(2)位于业务逻辑和持久化数据之间
(3)实现对持久化数据的访问
(4)类---> DAO --->数据表
2.模式:
(1)隔离业务逻辑代码和数据访问代码
业务逻辑层<=====>数据访问层
(2)隔离不同数据库的实现
业务逻辑层=====>数据访问层----->Oracle
----->SQLServer
----->MySQL
3.DAO模式的组成部分
《DAO实现类》------>《DAO接口》
------>《实体类》
------>《数据库工具类》
4.使用DAO的步骤
(1)建立数据库表
(2)创建实体类(类中的属性应当是和数据库中的表是对应的)
(3)创建DAO的基类(接口类)
(4)创建DAO的实现类
(5)创建具体表的DAO类
(6)创建具体表的DAO类的实现类
(7)创建业务逻辑层的接口类
(8)创建业务逻辑层的接口类的实现类
(9)创建测试类
二、分层开发
1.分层的特点
(1)每一层都有自己的职责
(2)上一层不用关心下一层的实现细节,上一层通过下一层提供的对外接口来使用其功能
(3)上一层调用下一层的功能,下一层不能调用上一层功能
2.分层开发的好处:
(1)各层专注于自己功能的实现,便于提高质量
(2)便于分工协作,提高开发效率
(3)便于代码复用
(4)便于程序扩展
3.顺序访问原则:
(1)下一层为上一层服务,但不使用上层的服务(比如地基与楼房)
(2)分层结构中,不同层之间通过实体类传输数据
业务逻辑 <---------- 实体类 --------> 数据访问层
三、知识扩展
1.接收参数的形式:password =‘“+ password +”’;(后面的一个表示形式参数,单引号里放双引号,双引号里的参数前后添加加号)
2..properties表 必须要在src文件下建立
3.在properties表中的URL中的 “localhost”表示本机的ip地址,可以直接填写字段“127.0.0.1”或者直接简写“///”。
三种形式都可以表示本机ip地址:
url=jdbc:mysql://localhost:3306/day
url=jdbc:mysql://127.0.0.1:3306/day
url=jdbc:mysql:///day
4.使用Eclipse开发,在导入他人工程时,可能会存在着开发工具或者电脑的版本不一样,会造成工程报警告,这时需要处理的步骤:
(1)处理感叹号
选中工程-----右击-----Properties----java
build path -----libraries -----找到并选中带有红色错误标志的资源包,然后将其remove-----再add
library -----默认选择后应用apply OK(2)处理红色报错
选中工程-----右击-----Properties----java
compiler -----先去掉enable project specific
settings前的勾-----然后选中并进入同行右边的configure workspace settings...
-----默认应用apply OK
DAO 基础学习笔记的更多相关文章
- 【C#编程基础学习笔记】4---Convert类型转换
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...
- 【C#编程基础学习笔记】6---变量的命名
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...
- 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- Mysql数据库基础学习笔记
Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Java基础学习笔记(一)
Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...
- C#RabbitMQ基础学习笔记
RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...
- handlebars.js基础学习笔记
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...
随机推荐
- iOS 拨打电话三种方式总结
1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示NSMutableString * str=[[NSMutableString alloc] initWithFo ...
- iOS自动打发布包-备用
#!/bin/bash # autoPublishH.sh# ## Created by 刘志托 liu on 12-2-8.# Copyright (c) 2012年 null. All r ...
- angular+bootstrap分页指令案例
AngularJS中不仅内置了许多指令,而且开发人员也可以通过自定义指令来完成特殊操作,指令创建成功后可以到处复用. Web应用中的分页处理最为常见,我们可以将分页模块编写成一个可以复用的Angula ...
- hdu1796:容斥入门题
简单的容斥入门题.. 容斥基本的公式早就知道了,但是一直不会写. 下午看到艾神在群里说的“会枚举二进制数就会容斥”,后来发现还真是这样.. 然后直接贴代码了 #include <iostream ...
- python mysql curros.executemany 批量添加
#添加的表结构字段分辨是(id,title,summary,visits,accountName,grabTime) #其中id,是int自增主键,在添加操作的时候,不需要对id进行操作 conn = ...
- 编程之美2015初赛第一场 hihoCoder #1156 : 彩色的树(染色问题)
#1156 : 彩色的树 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定一棵n个节点的树,节点编号为1, , …, n.树中有n - 1条边,任意两个节点间恰好有一条 ...
- Sftp和ftp 差别、工作原理等(汇总ing)
Sftp和ftp over ssh2的差别 近期使用SecureFx,涉及了两个不同的安全文件传输协议: -sftp -ftp over SSH2 这两种协议是不同的.sftp是ssh内含的协议,仅仅 ...
- Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法
错误提示: 在我们到导入从网络下载的项目时,经常会出现如下问题(选择的项目变灰,并且提示要选择至少一个项目): 错误原因: 出现这样的错误主要是因为你的Eclipse已经存在了和上图中New Proj ...
- mysql主从同步报错
主从不同步,经查看发现如下报错 Last_Errno: 1666 Last_Error: Error executing row event: 'Cannot execute statement: ...
- javascript系统时间
<div> <%--系统时间--%> 当前时间是: <script type=& ...