承接上文:JavaWeb课程复习资料(五)——配置Tomcat

目录

1、DAO层

2、DAOImpl层


1、DAO层

DAO层是接口层,故而需要使用【interface】修饰

源码如下:

package com.item.dao;import com.item.pojo.UserInfo;import java.util.List;public interface UserInfoDAO {/*** 查询所有用户信息* @return*/public List<UserInfo> GetAll();/*** 添加用户* @param info* @return*/public boolean InsertUserInfo(UserInfo info);/*** 单个ID查询* @param id* @return*/public UserInfo SelectById(int id);/*** 修改用户信息* @param info* @return*/public boolean UpdateById(UserInfo info);/*** 根据id删除用户* @param id* @return*/public boolean DeleteById(int id);
}

2、DAOImpl层

DAOImpl属于实现层,故而通过【】实现DAO层对应接口即可

编码过程中可以看到注释也是很完整的。

源码如下:

package com.item.daoimpl;import com.item.dao.UserInfoDAO;
import com.item.jdbc.FactoryDB;
import com.item.pojo.UserInfo;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;public class UserInfoDAOImpl implements UserInfoDAO {Connection conn = null;PreparedStatement pre = null;ResultSet res = null;@Overridepublic List<UserInfo> GetAll() {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("select * from userinfo");res = pre.executeQuery();List<UserInfo> list = new LinkedList<UserInfo>();while (res.next()) {list.add(new UserInfo(res.getInt(1),res.getDate(2),res.getString(3),res.getString(4)));}FactoryDB.Close(conn, pre, res);return list;} catch (SQLException e) {e.printStackTrace();}return null;}@Overridepublic boolean InsertUserInfo(UserInfo info) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("INSERT INTO userinfo VALUES (0,NOW(),?,?);");pre.setString(1, info.getUserName());pre.setString(2, info.getIntroduce());int isf = pre.executeUpdate();FactoryDB.Close(conn, pre, res);return isf != -1;} catch (SQLException e) {e.printStackTrace();}return false;}@Overridepublic UserInfo SelectById(int id) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("select * from userinfo where id=?");pre.setInt(1, id);res = pre.executeQuery();//判断查询结果是否为空if (res.wasNull()) {return null;}UserInfo u=null;while (res.next()) {u = new UserInfo(res.getInt(1), res.getDate(2), res.getString(3), res.getString(4));}FactoryDB.Close(conn, pre, res);return u;} catch (SQLException e) {e.printStackTrace();}return null;}@Overridepublic boolean UpdateById(UserInfo info) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("update userinfo set userName=?,introduce=? where id=?");pre.setString(1, info.getUserName());pre.setString(2, info.getIntroduce());pre.setInt(3, info.getId());int isf = pre.executeUpdate();FactoryDB.Close(conn, pre, res);return isf != -1;} catch (SQLException e) {e.printStackTrace();}return false;}@Overridepublic boolean DeleteById(int id) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("delete from test.userinfo where id=?");pre.setInt(1, id);int isf = pre.executeUpdate();FactoryDB.Close(conn, pre, res);return isf != -1;} catch (SQLException e) {e.printStackTrace();}return false;}
}

到此DAO与DAOImpl层封装完毕。

JavaWeb课程复习资料(六)——DAO与DAOImpl层封装相关推荐

  1. JavaWeb课程复习资料——用于突击考试总结

    环境使用: 系统:win10 开发工具:IntelliJ IDEA 2021以上版本 数据库:MySQL 需求jar包:mysql-connector-java-5.1.39.jar Tomcat版本 ...

  2. JavaWeb课程复习资料(十)——修改功能

    承接上文:JavaWeb课程复习资料(九)--删除功能 目录 1.创建[UpdateByIdServlet.java] 2.创建[UpdateServlet.jsp] 3.创建[UpdateServl ...

  3. JavaWeb课程复习资料(九)——删除功能

    承接上文:JavaWeb课程复习资料(八)--添加功能 1.创建[DeleteByIdServlet.jsp] 2.添加[DeleteByIdServlet.jsp]编码 package com.it ...

  4. JavaWeb课程复习资料(八)——添加功能

    承接上文:JavaWeb课程复习资料(七)--select服务查询所有功能编写 1.添加[AddServlet] 2.添加AddServlet编码 package com.item.servlet;i ...

  5. JavaWeb课程复习资料(二)——idea创建JDBC(FactoryDB)

    本课程上文链接:[JavaWeb课程复习资料(一)--idea导入mysql-connector.jar包] 1.创建[工厂类]的包与类 2.输入链接路径与账号密码 package com.item. ...

  6. JavaWeb课程复习资料(四)——创建Servlet

    承接上文链接:JavaWeb课程复习资料(三)--将[resultSet]形式的数据转为List<T>的形式 1.创建Servlet包,以及SelectAllServlet.java类 2 ...

  7. JavaWeb课程复习资料——中文乱码上下文处理

    乱码分为进出两种: HttpServletResponse是输出 HttpServletRequest是输入 resp.setContentType("text/html;charset=u ...

  8. 能利用计算机来模拟某种真实的实验现象,自然现象或社会现象的课件是,《计算机辅助教学》课程复习资料...

    考试资料 <计算机辅助教学>课程复习资料 一.单项选择题 1. 教学软件又称为 A . A.课件 B.多媒体 C.操作系统 D.应用软件 2. 继课件之后的第二代教学软件称为 A . A积 ...

  9. 计算机系统结构sw指令集,自考02325计算机系统结构复习资料六

    自考生网为考生收集整理了"自考02325计算机系统结构复习资料六"以供考生们在考试前用复习资料巩固所学到的知识,得到更好地复习效果. 注:由于各省教材每年都有更新.变动,自考复习资 ...

最新文章

  1. node.js的开发流程_Node.js子流程:您需要了解的一切
  2. windows共享wifi
  3. java jms clust,Geoserver 的 JMS Cluster modules(集群数据同步)
  4. python中is和 的区别_Python中is和==的区别
  5. python实时显示温度变化_python实时温度绘制
  6. 自然语言处理与中文分词的难点总结--学习笔记
  7. react antd confirm content list_react简单的项目架构搭建过程
  8. 云小课|MRS基础原理之ClickHouse组件介绍
  9. CSS垂直居中,你会多少种写法?
  10. HTML精仿ios相册,iOS开发-仿微信相册选择Demo
  11. 爬虫_抓取51job招聘数据
  12. linux setlocale函数,linux setlocale用法
  13. 企业公众号运营见效难,如何突围?
  14. ExtJS 前端 日期数据格式转化
  15. 移动应用性能测试简介
  16. 2021-07-24项目实训后端第四周(3)
  17. css超级无敌不会,一大堆疑问大全
  18. Above the MedianDueling GPSs
  19. Pyside2,Pycharm中右键转py文件的时候,出来的结果总是c++代码
  20. MacOS Big Sur 11.3.1 (20E41) CDR 格式虚拟机镜像

热门文章

  1. 判断图有无环_判断无向图/有向图中是否存在环
  2. linux windows主题下载官网,Linux Deepin 15.10.2 桌面kwin主题App美化
  3. JS 获取URL 后面的参数
  4. 深入Eureka/Feign/Hystrix原理学习(1)
  5. Tomcat下载步骤
  6. ArcGIS Android工程迁移到其他电脑不能打开的问题
  7. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
  8. C# Linq获取两个List或数组的差集交集
  9. 【AWSL】之Linux进程和计划任务管理(ps、top、pgrep、pstree、pkill、at、crontab)
  10. shell 目录下文件名放入循环_批量删除同一目录下的文件名前缀