} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源,避免出现异常
DBUtil.close(con, ps, rs);
}
return null;
}
}
MaterialDaoImpl
package com.sjsq.dao.impl;
import com.sjsq.dao.MaterialDao;
import com.sjsq.entity.Material;
import com.sjsq.utils.DBUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
-
@author: shuijianshiqing
-
@date: 2022-03-03
-
@description:
*/
public class MaterialDaoImpl implements MaterialDao {
@Override
public List selectAll(String sql, Object[] arr) {
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 1.连接数据库
con = DBUtil.getConnection();
// 2.预编译
ps = con.prepareStatement(sql);
if (arr != null) {
for (int i = 0; i < arr.length; i++) {
// 传入sql的参数,向上转型,某个栏位的查询
ps.setObject(i + 1, arr[i]);
}
}
// 3.执行sql
rs = ps.executeQuery();
// 4.保存查询出来的数据到list
List list = new ArrayList<>();
while (rs.next()) {
Material material = new Material();
material.setId(rs.getInt(“id”));
material.setName(rs.getString(“name”));
material.setAuthor(rs.getString(“author”));
material.setPublish(rs.getString(“publish”));
material.setNumberr(rs.getString(“number”));
list.add(material);
}
return list;
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭链接,避免数据库连接过多
DBUtil.close(con, ps, rs);
}
return null;
}
@Override
public Material selectMaterial(Integer id) {
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 1.连接数据库
con = DBUtil.getConnection();
// 2.预编译
String sql = “select * from material where id = ?”;
ps = con.prepareStatement(sql);
ps.setInt(1, id);
// 3.执行sql
rs = ps.executeQuery();
while (rs.next()) {
Material material = new Material();
material.setId(rs.getInt(“id”));
material.setName(rs.getString(“name”));
material.setAuthor(rs.getString(“author”));
material.setPublish(rs.getString(“publish”));
material.setNumberr(rs.getString(“number”));
return material;
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源,避免出现异常
DBUtil.close(con, ps, rs);
}
return null;
}
@Override
public boolean addMaterial(Material material) {
String sql = “insert into material values (?,?,?,?,?)”;
List list = new ArrayList();
list.add(material.getId());
list.add(material.getName());
list.add(material.getAuthor());
list.add(material.getPublish());
list.add(material.getNumber());
boolean flag = DBUtil.addUpdateDelete(sql, list.toArray());
if (flag) {
return true;
} else {
return false;
}
}
@Override
public boolean updateMaterial(Material material) {
String sql = “update material set name=?,author=?,publish=?,number=? where id=?”;
List list = new ArrayList();
list.add(material.getName());
list.add(material.getAuthor());
list.add(material.getPublish());
list.add(material.getNumber());
// 注意id在最后面
list.add(material.getId());
boolean flag = DBUtil.addUpdateDelete(sql, list.toArray());
if (flag) {
return true;
} else {
return false;
}
}
@Override
public boolean deleteMaterial(Integer id) {
String sql = “delete from material where id=?”;
List list = new ArrayList();
list.add(id);
boolean flag = DBUtil.addUpdateDelete(sql, list.toArray());
if (flag) {
return true;
} else {
return false;
}
}
}
material-add.jsp
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%-- 头部 --%>
<jsp:include page=“top.jsp”/>
新增教材
返回上一级
添加
重置
<%-- 底部 --%>
<jsp:include page=“bottom.jsp”/>
material-add-do.jsp
<%@ page import=“com.sjsq.entity.Material” %>
<%@ page import=“com.sjsq.service.MaterialService” %>
<%@ page import=“com.sjsq.service.impl.MaterialServiceImpl” %>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%
// 设置获取注册时的编码为UTF-8
request.setCharacterEncoding(“UTF-8”);
//获取teacher-add.jsp页面提交的账号和密码,注意传过来的是字符串需要进行转化为对应的类型
Integer id = Integer.parseInt(request.getParameter(“id”));
String name = request.getParameter(“name”);
String author = request.getParameter(“author”);
String publish = request.getParameter(“publish”);
String number = request.getParameter(“number”);
// 将信息保存到实体类中
Material material = new Material();
material.setId(id);
material.setName(name);
material.setAuthor(author);
material.setPublish(publish);
material.setNumberr(number);
System.out.println(“添加的教材信息”);
System.out.println(material);
// 将数据写入到数据库
MaterialService materialService = new MaterialServiceImpl();
boolean flag = materialService.addMaterial(material);
if(flag){
response.sendRedirect(“main.jsp”);
}else{
response.sendRedirect(“error.jsp”);
}
%>
material-update.jsp
<%@ page import=“com.sjsq.entity.Material” %>
<%@ page import=“com.sjsq.service.MaterialService” %>
<%@ page import=“com.sjsq.service.impl.MaterialServiceImpl” %>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%-- 头部 --%>
<jsp:include page=“top.jsp”/>
修改教材
<%
//获取main.jsp页面的id
Integer id = Integer.parseInt(request.getParameter(“id”));
MaterialService materialService = new MaterialServiceImpl();
Material material = materialService.selectMaterial(id);
%>
返回上一级
<%-- 这里教职工号不能修改 --%>
修改
重置
<%-- 底部 --%>
<jsp:include page=“bottom.jsp”/>
material-update-do.jsp
<%@ page import=“com.sjsq.entity.Material” %>
<%@ page import=“com.sjsq.service.MaterialService” %>
<%@ page import=“com.sjsq.service.impl.MaterialServiceImpl” %>
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
<%
// 设置获取注册时的编码为UTF-8
request.setCharacterEncoding(“UTF-8”);
//获取teacher-update.jsp页面提交的账号和密码,注意传过来的是字符串需要进行转化为对应的类型
Integer id = Integer.parseInt(request.getParameter(“id”));
String name = request.getParameter(“name”);
String author = request.getParameter(“author”);
String publish = request.getParameter(“publish”);
String number = request.getParameter(“number”);
// 将信息保存到实体类中
Material material = new Material();
material.setId(id);
material.setName(name);
material.setAuthor(author);
material.setPublish(publish);
material.setNumberr(number);
System.out.println(“修改的教材信息”);
System.out.println(material);
// 将数据写入到数据库
MaterialService materialService = new MaterialServiceImpl();
boolean flag = materialService.updateMaterial(material);
if(flag){
response.sendRedirect(“main.jsp”);
}else{
response.sendRedirect(“error.jsp”);
}
%>
四、其他
====
1.更多系统
Java+JSP系统系列实现
Java+Servlet系统系列实现
Java+SSM系统系列实现
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里获取,先到先得哦。
理系统]( )
Java+SSM系统系列实现
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-mfRQ0SfI-1712420093370)]
[外链图片转存中…(img-qq2WsXJM-1712420093370)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
[外链图片转存中…(img-HGDGc6vh-1712420093371)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
给大家分享一些关于HTML的面试题,有需要的朋友可以戳这里获取,先到先得哦。
[外链图片转存中…(img-crOwXkcJ-1712420093371)]
[外链图片转存中…(img-lA8e2EPf-1712420093371)]