JavaWeb课程复习资料(六)——DAO与DAOImpl层封装
承接上文: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层封装相关推荐
- JavaWeb课程复习资料——用于突击考试总结
环境使用: 系统:win10 开发工具:IntelliJ IDEA 2021以上版本 数据库:MySQL 需求jar包:mysql-connector-java-5.1.39.jar Tomcat版本 ...
- JavaWeb课程复习资料(十)——修改功能
承接上文:JavaWeb课程复习资料(九)--删除功能 目录 1.创建[UpdateByIdServlet.java] 2.创建[UpdateServlet.jsp] 3.创建[UpdateServl ...
- JavaWeb课程复习资料(九)——删除功能
承接上文:JavaWeb课程复习资料(八)--添加功能 1.创建[DeleteByIdServlet.jsp] 2.添加[DeleteByIdServlet.jsp]编码 package com.it ...
- JavaWeb课程复习资料(八)——添加功能
承接上文:JavaWeb课程复习资料(七)--select服务查询所有功能编写 1.添加[AddServlet] 2.添加AddServlet编码 package com.item.servlet;i ...
- JavaWeb课程复习资料(二)——idea创建JDBC(FactoryDB)
本课程上文链接:[JavaWeb课程复习资料(一)--idea导入mysql-connector.jar包] 1.创建[工厂类]的包与类 2.输入链接路径与账号密码 package com.item. ...
- JavaWeb课程复习资料(四)——创建Servlet
承接上文链接:JavaWeb课程复习资料(三)--将[resultSet]形式的数据转为List<T>的形式 1.创建Servlet包,以及SelectAllServlet.java类 2 ...
- JavaWeb课程复习资料——中文乱码上下文处理
乱码分为进出两种: HttpServletResponse是输出 HttpServletRequest是输入 resp.setContentType("text/html;charset=u ...
- 能利用计算机来模拟某种真实的实验现象,自然现象或社会现象的课件是,《计算机辅助教学》课程复习资料...
考试资料 <计算机辅助教学>课程复习资料 一.单项选择题 1. 教学软件又称为 A . A.课件 B.多媒体 C.操作系统 D.应用软件 2. 继课件之后的第二代教学软件称为 A . A积 ...
- 计算机系统结构sw指令集,自考02325计算机系统结构复习资料六
自考生网为考生收集整理了"自考02325计算机系统结构复习资料六"以供考生们在考试前用复习资料巩固所学到的知识,得到更好地复习效果. 注:由于各省教材每年都有更新.变动,自考复习资 ...
最新文章
- node.js的开发流程_Node.js子流程:您需要了解的一切
- windows共享wifi
- java jms clust,Geoserver 的 JMS Cluster modules(集群数据同步)
- python中is和 的区别_Python中is和==的区别
- python实时显示温度变化_python实时温度绘制
- 自然语言处理与中文分词的难点总结--学习笔记
- react antd confirm content list_react简单的项目架构搭建过程
- 云小课|MRS基础原理之ClickHouse组件介绍
- CSS垂直居中,你会多少种写法?
- HTML精仿ios相册,iOS开发-仿微信相册选择Demo
- 爬虫_抓取51job招聘数据
- linux setlocale函数,linux setlocale用法
- 企业公众号运营见效难,如何突围?
- ExtJS 前端 日期数据格式转化
- 移动应用性能测试简介
- 2021-07-24项目实训后端第四周(3)
- css超级无敌不会,一大堆疑问大全
- Above the MedianDueling GPSs
- Pyside2,Pycharm中右键转py文件的时候,出来的结果总是c++代码
- MacOS Big Sur 11.3.1 (20E41) CDR 格式虚拟机镜像
热门文章
- 判断图有无环_判断无向图/有向图中是否存在环
- linux windows主题下载官网,Linux Deepin 15.10.2 桌面kwin主题App美化
- JS 获取URL 后面的参数
- 深入Eureka/Feign/Hystrix原理学习(1)
- Tomcat下载步骤
- ArcGIS Android工程迁移到其他电脑不能打开的问题
- 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
- C# Linq获取两个List或数组的差集交集
- 【AWSL】之Linux进程和计划任务管理(ps、top、pgrep、pstree、pkill、at、crontab)
- shell 目录下文件名放入循环_批量删除同一目录下的文件名前缀