功能完善

This commit is contained in:
landaiqing 2023-06-10 22:02:02 +08:00
parent 309784868a
commit a270eae202
5 changed files with 307 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package com.landaiqing.dao;
import com.landaiqing.entity.AdminUserEntity;
import com.landaiqing.entity.UserEntity;
import com.landaiqing.utils.JdbcUtils;
@ -127,4 +128,37 @@ public class UserDao {
JdbcUtils.closeConnection(null, preparedStatement, connection);
}
}
/**
* 修改数据
* */
public int update(UserEntity userEntity) {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = JdbcUtils.getConnection();
JdbcUtils.beginTransaction(connection);
preparedStatement = connection.prepareStatement("UPDATE `webguestbook`.`user` SET `nickname` = ?, `qq` = ?, `email` = ?, `content` = ?, `datetime` = ?, `replyContent` = ?, `replyDateTime` = ? WHERE `userId` = ?;");
preparedStatement.setString(1, userEntity.getNickName());
preparedStatement.setString(2, userEntity.getQQ());
preparedStatement.setString(3, userEntity.getEmail());
preparedStatement.setString(4, userEntity.getContent());
preparedStatement.setDate(5, userEntity.getDateTime());
preparedStatement.setString(6, userEntity.getReplyContent());
preparedStatement.setDate(7, userEntity.getReplyDateTime());
preparedStatement.setInt(8, userEntity.getUserId());
Integer result = preparedStatement.executeUpdate();
JdbcUtils.commitTransaction(connection);
return result;
} catch (SQLException e) {
JdbcUtils.rollBackTransaction(connection);
throw new RuntimeException(e);
} finally {
JdbcUtils.closeConnection(null, preparedStatement, connection);
}
}
}

View File

@ -34,4 +34,10 @@ public class UserService {
public int deleteUser(Integer id){
return userDao.deleteUser(id);
}
/**
* 修改数据
* */
public int update(UserEntity userEntity) {
return userDao.update(userEntity);
}
}

View File

@ -0,0 +1,99 @@
package com.landaiqing.servlet.system;
import com.landaiqing.entity.AdminUserEntity;
import com.landaiqing.entity.UserEntity;
import com.landaiqing.service.UserService;
import com.mysql.cj.util.StringUtils;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Date;
@WebServlet("/update")
public class UpdateServlet extends HttpServlet {
private UserService userService=new UserService();
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String idStr = req.getParameter("id");
if (StringUtils.isNullOrEmpty(idStr)){
req.setAttribute("errorMsg","id的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
Integer id = Integer.parseInt(idStr);
String nickName = req.getParameter("nickName");
if (StringUtils.isNullOrEmpty(nickName)){
req.setAttribute("errorMsg","nickName 的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
String qq = req.getParameter("qq");
if (StringUtils.isNullOrEmpty(qq)){
req.setAttribute("errorMsg","qq 的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
String email = req.getParameter("email");
if (StringUtils.isNullOrEmpty(idStr)){
req.setAttribute("errorMsg","email 的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
String content = req.getParameter("content");
if (StringUtils.isNullOrEmpty(idStr)){
req.setAttribute("errorMsg","content 的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
String DateTime = req.getParameter("dateTime");
if (StringUtils.isNullOrEmpty(idStr)){
req.setAttribute("errorMsg","DateTime 的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
String replyContent = req.getParameter("replyContent");
if (StringUtils.isNullOrEmpty(idStr)){
req.setAttribute("errorMsg","replyContent 的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
String replyDateTime = req.getParameter("replyDateTime");
if (StringUtils.isNullOrEmpty(idStr)){
req.setAttribute("errorMsg","replyDateTime 的值不能为空!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
UserEntity userEntity=new UserEntity();
userEntity.setUserId(id);
userEntity.setNickName(nickName);
userEntity.setQQ(qq);
userEntity.setEmail(email);
userEntity.setContent(content);
userEntity.setDateTime(Date.valueOf(DateTime));
userEntity.setReplyContent(replyContent);
userEntity.setReplyDateTime(Date.valueOf(replyDateTime));
int result = userService.update(userEntity);
if (result<=0){
req.setAttribute("errorMsg","修改失败!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
return;
}
resp.sendRedirect("./System/messageManage.jsp");
} catch (Exception e) {
req.setAttribute("errorMsg","系统异常!!!");
req.getRequestDispatcher("error.jsp").forward(req,resp);
throw new RuntimeException(e);
}
}
}

View File

@ -296,6 +296,7 @@
layer.msg('修改成功!'), {
offset: '6px'
}
window.location.reload();
})
}
@ -313,6 +314,7 @@
layer.msg('删除成功!'), {
offset: '6px'
}
window.location.reload();
})
}
function addAdmin()
@ -335,6 +337,7 @@
layer.msg('添加成功!'), {
offset: '6px'
}
window.location.reload();
})
}

View File

@ -19,10 +19,11 @@
<body>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<%-- <button class="layui-btn layui-btn-sm" lay-event="addAdmin">添加管理员</button>--%>
<button class="layui-btn layui-btn-sm" lay-event="upadte">修 改</button>
</div>
</script>
<script type="text/html" id="barDemo">
<div class="layui-clear-space">
<%-- <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>--%>
@ -33,7 +34,6 @@
</div>
</script>
<table class="layui-hide" id="ID-table-demo-data"></table>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
@ -53,6 +53,8 @@
var table = layui.table;
var form = layui.form;
var dropdown = layui.dropdown;
var laydate = layui.laydate;
var util = layui.util;
// 已知数据渲染
var inst = table.render({
elem: '#ID-table-demo-data'
@ -112,6 +114,123 @@
})
}
});
table.on('toolbar(ID-table-demo-data)', function(obj){
var id = obj.config.id;
var checkStatus = table.checkStatus(id);
var othis = lay(this);
switch(obj.event){
case 'upadte':
layer.open({
title: '修改',
type: 1,
area: ['80%','80%'],
content: `<div id="warp">
<div style="display: flex;flex-direction: column;align-content: center;align-items: center;justify-content: center">
<form class="layui-form" lay-filter="scoreRuleForm">
<div class="layui-form-item">
<label class="layui-form-label">ID</label>
<div class="layui-input-block">
<input type="text" name="id" id="id" autocomplete="off" class="layui-input" placeholder="被修改数据ID">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">昵 称</label>
<div class="layui-input-block">
<input type="text" id="nickName" name="nickName" class="layui-input" >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">QQ</label>
<div class="layui-input-block">
<input type="text" id="qq" name="qq" class="layui-input" >
</div>
</div>
<div class="layui-form-item" pane>
<label class="layui-form-label">Email</label>
<div class="layui-input-block">
<input type="text" id="email" name="email" lay-filter="required" class="layui-input" >
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">评论内容</label>
<div class="layui-input-block">
<textarea placeholder="请输入评论内容" id="content" name="content" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">评论日期</label>
<div class="layui-input-inline layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-date"></i>
</div>
<input type="text" name="dateTime" id="dateTime" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">回复内容</label>
<div class="layui-input-block">
<textarea placeholder="请输入回复内容" id="replyContent" name="replyContent" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">回复日期</label>
<div class="layui-input-inline layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-date"></i>
</div>
<input type="text" name="replyDateTime" id="replyDateTime" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button type="submit" class="layui-btn" lay-submit lay-filter="demo1">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</form>
</div>
</div>`,
});
break;
// case 'getData':
// var getData = table.getData(id);
// console.log(getData);
// layer.alert(layui.util.escape(JSON.stringify(getData)));
// break;
// case 'LAYTABLE_TIPS':
// layer.alert('自定义工具栏图标按钮');
// break;
};
});
// 日期
form.on('submit(demo1)', function(data){
var field = data.field; // 获取表单字段值
// 显示填写结果,仅作演示用
layer.alert(JSON.stringify(field), {
title: '当前填写的字段值'
});
$.ajax({
url:"http://localhost:8080${pageContext.request.contextPath}/update",
async:false,
type:"POST",
dataType:"text",
data:field,
success:function(){
window.location.reload();
}
})
layer.alert(JSON.stringify(data.field), {
})
return false; // 阻止默认 form 跳转
});
}
,data: result.data
//,skin: 'line' // 表格风格
@ -145,6 +264,50 @@
})
}
layui.use('laydate', function(){
var laydate = layui.laydate;
laydate.render({
elem: '#dateTime',
});
laydate.render({
elem: '#replyDateTime',
});
});
<%--function update(){--%>
<%-- var id=document.getElementById('id').value;--%>
<%-- var nickName=document.getElementById('nickName').value;--%>
<%-- var qq=document.getElementById('qq').value;--%>
<%-- var email=document.getElementById('email').value;--%>
<%-- var content=document.getElementById('content').value;--%>
<%-- var replyContent=document.getElementById('replyContent').value;--%>
<%-- var dateTime=document.getElementById('dateTime').value;--%>
<%-- var ReplyDateTime=document.getElementById('ReplyDateTime').value;--%>
<%-- axios({--%>
<%-- // 请求方式--%>
<%-- method: 'post',--%>
<%-- // 请求的地址--%>
<%-- url: 'http://localhost:8080${pageContext.request.contextPath}/update',--%>
<%-- // URL 中的查询参数--%>
<%-- params: {--%>
<%-- id:id,--%>
<%-- nickName:nickName,--%>
<%-- qq:qq,--%>
<%-- email:email,--%>
<%-- content:content,--%>
<%-- replyContent:replyContent,--%>
<%-- dateTime:dateTime,--%>
<%-- ReplyDateTime:ReplyDateTime--%>
<%-- }--%>
<%-- }).then(function (result) {--%>
<%-- layer.msg('修改成功!'), {--%>
<%-- offset: '6px'--%>
<%-- }--%>
<%-- window.location.reload();--%>
<%-- })--%>
<%--}--%>
</script>