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. pat1091. Acute Stroke (30)

    1091. Acute Stroke (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue One impo ...

  2. C# 多线程之线程同步

    多线程间应尽量避免同步问题,最好不要线程间共享数据.如果必须要共享数据,就需要使用同步技术,确保一次只有一个线程访问和改变共享状态. 一::lock语句 lock语句事设置锁定和接触锁定的一种简单方法 ...

  3. hql语句cast用法

    hql中cast为转换函数 cast(a as b);a是要转换的数据,b是目标类型(不是数据库类型名,是hibernate类型名:比如目标类型是varchar,必须写string) eg:selec ...

  4. crypto-js遇到的坑

    最近在做H5网站,用websocket跟后台交互时,需要对数据进行加密,于是选了crypto-js组件,GitHub上api也不少,写的也清晰,但实际使用上会遇到不少坑: 加密解密时,传入的密钥key ...

  5. c++ 控制台输入参数

    #include <iostream>#include <string> using namespace std; int main(int argc,char **argv) ...

  6. idea安装激活

    安装激活链接: https://blog.csdn.net/newabcc/article/details/80601933 激活出错链接:(key is invalid 失效) https://bl ...

  7. Functional language(函数式编程语言)初步了解

    对于函数式语言并不太了解,查询了百度.博客.知乎等做了以下总结. What 函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分 ...

  8. JQuery Dialog对话框 不能通过Esc关闭

    背景:想通过Esc键关闭展示中的Dialog对话框,发现有些对话框可以,有些会失效. 原因分析: 1.对话框上可以输入内容的标签元素可以,反之不行. 2.如果鼠标点击对话框后,也可以Esc键关闭. 可 ...

  9. 如何在K3 WISE BOS集成开发工具中自定义字段过滤条件

    1.结论 对于输入过滤条件后BOS报“列名不正确”的过滤条件,要在列名前增加x2标识 无效的过滤 FNumber ,,,,,) 正确的过滤 x2.FNumber ,,,,,) 2.完全可以不看的探索过 ...

  10. CSS实现多重边框和内凹圆角

    CSS实现多重边框 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...