1.案例

(1)添加用户

step1.建表
create table t_user(
id int primary key auto_increment,
username varchar(50) unique,
password varchar(20),
phone varchar(20),
email varchar(30)
);
step2.导包
jdbc驱动,连接池,junit
step3.将jdbc.properties文件添加到resource下。
step4.将DBUtils类添加到util包下。
step5.测试DBUtils类(可以利用junit)。
step6.修改AddUserServlet,添加jdbc代码,完成
插入操作。

2. DAO (Data Access Object 数据访问对象)

(1)什么是DAO?

封装了数据访问逻辑的一个对象。

(2)如何写DAO?

step1.写一个实体类。
注:
    因为数据库里面存放的是一条条记录,
而java是面向对象的语言,处理对象更方便,
所以,我们经常将查询到的记录存放到一个对应
的java对象里面,这个时候,就需要设计一个
java类,该类与表的结构一致:
    表有哪些字段,该类一般就会有对应的属性,
并且类型要匹配。
step2.写DAO类。

(3)DAO的优点

a.方便测试
    比如将数据访问逻辑写在DAO类里面,可以
    直接测试,而如果将数据访问逻辑写在Servlet
    里面,需要部署之后才能测试。
b.方便代码的复用
c.方便分工协作
d.方便代码的维护

Servlet学习笔记03——什么是DAO?的更多相关文章

  1. 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试

    机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...

  2. OpenCV 学习笔记03 边界框、最小矩形区域和最小闭圆的轮廓

    本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: impor ...

  3. OpenCV 学习笔记03 findContours函数

    opencv-python   4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...

  4. # jsp及servlet学习笔记

    目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...

  5. C++ GUI Qt4学习笔记03

    C++ GUI Qt4学习笔记03   qtc++spreadsheet文档工具resources 本章介绍创建Spreadsheet应用程序的主窗口 1.子类化QMainWindow 通过子类化QM ...

  6. Servlet学习笔记(四)

    目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...

  7. Servlet学习笔记(三)

    目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...

  8. Servlet学习笔记(二)

    目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...

  9. SaToken学习笔记-03

    SaToken学习笔记-03 如果排版有问题,请点击:传送门 核心思想 所谓权限验证,验证的核心就是一个账号是否拥有一个权限码 有,就让你通过.没有?那么禁止访问! 再往底了说,就是每个账号都会拥有一 ...

随机推荐

  1. php错误等级

    E_ALL - 所有的错误和警告(不包括 E_STRICT)   E_ERROR - 致命性的运行时错误   E_WARNING - 运行时警告(非致命性错误)   E_PARSE - 编译时解析错误 ...

  2. SpingCloud微服务架构学习(一)之服务提供者与服务消费者

    微服务构建的是分布式系统,各个微服务之间通过网络进行服务调用,这就有了服务提供者(被调用方)和服务消费者(调用方),以电影售票系统为例,假设服务调用关系如下图所示: 围绕此场景,我们先编写一个用户微服 ...

  3. PHP中函数的定义与使用

    函数是什么? 函数是一个被命名的.独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值. 函数是被命名的,每个函数都有唯一的名称. 函数是独立的,无需程序其他部分干预,函数便能执行自己的任务 ...

  4. orientationchange事件

    orientationchange事件 resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize':

  5. [原创]Debian9 安装配置MariaDB

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  6. adobe air ane 中有的java class 打包 apk 后却没有了报NoClassDefFoundError ,ClassNotFoundException

    apache flex sdk 手机项目 09-18 10:34:55.030: E/AndroidRuntime(19513): FATAL EXCEPTION: main 09-18 10:34: ...

  7. centreon公司推出的check plugin pack

    文档 http://documentation.centreon.com/docs/centreon-plugins/en/latest/ (epel) # yum install nagios-pl ...

  8. pcp分布式监控工具

    已经集成在redhat6.x版本里 http://pcp.io

  9. 翻译-ExcelDNA开发文档

    转载自个人主页 前言 翻译开源项目ExcelDNA开发文档 异步处理 ExcelDNA支持两种异步函数: RTD,该函数适用与Excel2003及以上版本,(当你使用ExcelAsyncUtil.*时 ...

  10. bootstrap-table 大量字段整体表单上传之时间处理

    js 中用$('#addUserForm').serialize(),//获取表单中所有数据 传送到前台 (controller) $.ajax({ type : "POST", ...