diff --git a/src/main/java/com/inks/hb/logInfo/controller/LogInfoExcelServlet.java b/src/main/java/com/inks/hb/logInfo/controller/LogInfoExcelServlet.java index 7d0bf18..261436c 100644 --- a/src/main/java/com/inks/hb/logInfo/controller/LogInfoExcelServlet.java +++ b/src/main/java/com/inks/hb/logInfo/controller/LogInfoExcelServlet.java @@ -13,20 +13,28 @@ import java.util.ArrayList; @WebServlet(name = "LogInfoExcelServlet", value = "/LogInfoExcelServlet") public class LogInfoExcelServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) { this.doGet(request, response); } + // 处理GET请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) { + // 创建LogInfoService实例 LogInfoService service = new LogInfoServiceImpl(); + // 查询所有日志信息 ArrayList infoArrayList; infoArrayList = service.query(1, service.queryLogInfoNum()); + // 定义Excel表头 String[] headers = {"日志编号", "内容", "用户编号", "用户名称", "日期"}; + // 定义Excel文件名 String fileName = "日志信息"; + // 创建ExportExcel实例 ExportExcel ee = new ExportExcel<>(); + // 导出Excel ee.exportExcel(headers, infoArrayList, fileName, response); } } diff --git a/src/main/java/com/inks/hb/logInfo/controller/LogInfoServlet.java b/src/main/java/com/inks/hb/logInfo/controller/LogInfoServlet.java index 9eee280..d964eef 100644 --- a/src/main/java/com/inks/hb/logInfo/controller/LogInfoServlet.java +++ b/src/main/java/com/inks/hb/logInfo/controller/LogInfoServlet.java @@ -16,35 +16,43 @@ import java.util.ArrayList; @WebServlet(name = "LogInfoServlet", value = "/LogInfoServlet") public class LogInfoServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { this.doGet(request, response); } + // 处理GET请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // 设置请求和响应的编码格式 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); - int page = Integer.parseInt(request.getParameter("page")); // 当前页码 - int limit = Integer.parseInt(request.getParameter("limit")); // 每页的数据量 + // 获取请求参数 + int page = Integer.parseInt(request.getParameter("page")); + int limit = Integer.parseInt(request.getParameter("limit")); int make = Integer.parseInt(request.getParameter("make")); - // 调用service + // 创建LogInfoService实例 LogInfoService service = new LogInfoServiceImpl(); - // 默认输出信息 - String code = "0"; //状态码 - String msg = "数据查询正常"; //状态信息 - String count; //数据总数 - ArrayList list; //数据内容 - if (make == 1) { //删除 + // 初始化返回结果 + String code = "0"; + String msg = "数据查询正常"; + String count; + ArrayList list; + // 如果make参数为1,则删除指定logId的日志信息 + if (make == 1) { int logId = Integer.parseInt(request.getParameter("logId")); service.deleteLogInfo(logId); } + // 查询日志信息总数 count = String.valueOf(service.queryLogInfoNum()); + // 查询指定页数的日志信息 list = service.query(page, limit); + // 将结果转换为JSON格式并返回 PrintWriter out = response.getWriter(); out.print(new Gson().toJson(new PojotoGson(code, msg, count, list))); } diff --git a/src/main/java/com/inks/hb/logInfo/dao/LogInfoDao.java b/src/main/java/com/inks/hb/logInfo/dao/LogInfoDao.java index b880bde..ddeeeae 100644 --- a/src/main/java/com/inks/hb/logInfo/dao/LogInfoDao.java +++ b/src/main/java/com/inks/hb/logInfo/dao/LogInfoDao.java @@ -11,8 +11,10 @@ import java.sql.SQLException; import java.util.ArrayList; public class LogInfoDao implements CommonDao { + // 实现CommonDao接口,用于操作logInfo表 @Override public void insertData(Object o) throws SQLException { + // 插入数据 LogInfo logInfo = (LogInfo) o; Connection conn = DBUtil.getConnection(); @@ -29,6 +31,7 @@ public class LogInfoDao implements CommonDao { @Override public void deleteData(Object o) throws SQLException { + // 删除数据 LogInfo logInfo = (LogInfo) o; Connection conn = DBUtil.getConnection(); @@ -43,10 +46,12 @@ public class LogInfoDao implements CommonDao { @Override public void updateData(Object o) throws SQLException { + // 更新数据 } @Override public int queryDataNum() throws SQLException { + // 查询数据数量 Connection conn = DBUtil.getConnection(); String sql = "select count(*) from logInfo;"; @@ -66,6 +71,7 @@ public class LogInfoDao implements CommonDao { @Override public ArrayList query(int start, int length) throws SQLException { + // 查询数据 Connection conn = DBUtil.getConnection(); String sql = "select * from logInfo limit ?, ?;"; @@ -91,10 +97,12 @@ public class LogInfoDao implements CommonDao { @Override public Object query(Object o) throws SQLException { + // 查询数据 return null; } public ArrayList queryName(int loginId) throws SQLException { + // 根据loginId查询数据 Connection conn = DBUtil.getConnection(); String sql = "SELECT * FROM logInfo WHERE loginId = ?"; PreparedStatement ps = conn.prepareStatement(sql); diff --git a/src/main/java/com/inks/hb/logInfo/pojo/LogInfo.java b/src/main/java/com/inks/hb/logInfo/pojo/LogInfo.java index 56986ce..a0828b6 100644 --- a/src/main/java/com/inks/hb/logInfo/pojo/LogInfo.java +++ b/src/main/java/com/inks/hb/logInfo/pojo/LogInfo.java @@ -5,20 +5,28 @@ import java.util.Date; public class LogInfo { + // 日志ID private int logId; + // 日志名称 private String logName; + // 登录ID private int loginId; + // 登录名称 private String loginName; + // 日志日期 private String logDate; + // 日期对象 private Date date; + // 日期格式化对象 private SimpleDateFormat dateFormat; + // 无参构造器 public LogInfo() { super(); } @@ -26,6 +34,7 @@ public class LogInfo { /** * 此构造器呀 */ + // 有参构造器,传入日志名称、登录ID、登录名称 public LogInfo(String logName, int loginId, String loginName) { this.logName = logName; this.loginId = loginId; @@ -35,6 +44,7 @@ public class LogInfo { logDate = dateFormat.format(date); } + // 有参构造器,传入日志ID、日志名称、登录ID、登录名称、日志日期 public LogInfo(int logId, String logName, int loginId, String loginName, String logDate) { this.logId = logId; this.logName = logName; @@ -43,46 +53,57 @@ public class LogInfo { this.logDate = logDate; } + // 获取日志ID public int getLogId() { return logId; } + // 设置日志ID public void setLogId(int logId) { this.logId = logId; } + // 获取日志名称 public String getLogName() { return logName; } + // 设置日志名称 public void setLogName(String logName) { this.logName = logName; } + // 获取登录ID public int getLoginId() { return loginId; } + // 设置登录ID public void setLoginId(int loginId) { this.loginId = loginId; } + // 获取日志日期 public String getLogDate() { return logDate; } + // 设置日志日期 public void setLogDate(String logDate) { this.logDate = logDate; } + // 获取登录名称 public String getLoginName() { return loginName; } + // 设置登录名称 public void setLoginName(String loginName) { this.loginName = loginName; } + // 重写toString方法 @Override public String toString() { return "LogInfo{" + diff --git a/src/main/java/com/inks/hb/logInfo/service/LogInfoService.java b/src/main/java/com/inks/hb/logInfo/service/LogInfoService.java index b11423d..def1fba 100644 --- a/src/main/java/com/inks/hb/logInfo/service/LogInfoService.java +++ b/src/main/java/com/inks/hb/logInfo/service/LogInfoService.java @@ -4,16 +4,22 @@ import com.inks.hb.logInfo.pojo.LogInfo; import java.util.ArrayList; +// 定义一个LogInfoService接口,用于操作LogInfo对象 public interface LogInfoService { + // 插入一条LogInfo记录 int insertLogInfo(LogInfo logInfo); + // 根据logId删除一条LogInfo记录 int deleteLogInfo(int logId); + // 根据page和limit查询LogInfo记录 ArrayList query(int page, int limit); + // 查询LogInfo记录的总数 int queryLogInfoNum(); + // 根据loginId删除LogInfo记录 int deleteByName(int loginId); } diff --git a/src/main/java/com/inks/hb/logInfo/service/LogInfoServiceImpl.java b/src/main/java/com/inks/hb/logInfo/service/LogInfoServiceImpl.java index 871f36f..d779158 100644 --- a/src/main/java/com/inks/hb/logInfo/service/LogInfoServiceImpl.java +++ b/src/main/java/com/inks/hb/logInfo/service/LogInfoServiceImpl.java @@ -8,6 +8,7 @@ import java.util.ArrayList; public class LogInfoServiceImpl implements LogInfoService { + //实例化LogInfoDao private LogInfoDao dao = new LogInfoDao(); /** @@ -21,6 +22,7 @@ public class LogInfoServiceImpl implements LogInfoService { int check = 0; try { + //调用dao的insertData方法插入数据 dao.insertData(logInfo); } catch (SQLException e) { e.printStackTrace(); @@ -38,10 +40,12 @@ public class LogInfoServiceImpl implements LogInfoService { @Override public int deleteLogInfo(int logId) { + //创建LogInfo对象 LogInfo logInfo = new LogInfo(); logInfo.setLogId(logId); try { + //调用dao的deleteData方法删除数据 dao.deleteData(logInfo); } catch (SQLException e) { e.printStackTrace(); diff --git a/src/main/java/com/inks/hb/login/controller/InsertLoginServlet.java b/src/main/java/com/inks/hb/login/controller/InsertLoginServlet.java index ce0b618..d9a06c2 100644 --- a/src/main/java/com/inks/hb/login/controller/InsertLoginServlet.java +++ b/src/main/java/com/inks/hb/login/controller/InsertLoginServlet.java @@ -20,7 +20,9 @@ public class InsertLoginServlet extends HttpServlet { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // 设置请求编码格式 request.setCharacterEncoding("utf-8"); + // 设置响应编码格式 response.setContentType("application/json; charset=utf-8"); // 获取前端传递的json数据 @@ -31,9 +33,11 @@ public class InsertLoginServlet extends HttpServlet { Gson gson = new Gson(); Login login = gson.fromJson(json, Login.class); + // 调用service层的方法插入数据 LoginService service = new LoginServiceImpl(); int code = service.insertLogin(login); + // 将结果返回给前端 PrintWriter out = response.getWriter(); out.print(gson.toJson(code)); } diff --git a/src/main/java/com/inks/hb/login/controller/LoginExcelServlet.java b/src/main/java/com/inks/hb/login/controller/LoginExcelServlet.java index 05a5bb9..289d50c 100644 --- a/src/main/java/com/inks/hb/login/controller/LoginExcelServlet.java +++ b/src/main/java/com/inks/hb/login/controller/LoginExcelServlet.java @@ -13,21 +13,29 @@ import java.util.ArrayList; @WebServlet(name = "LoginExcelServlet", value = "/LoginExcelServlet") public class LoginExcelServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) { this.doGet(request, response); } + // 处理GET请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) { + // 创建LoginService实例 LoginService service = new LoginServiceImpl(); + // 查询所有用户信息 ArrayList infoArrayList; infoArrayList = service.query(1, service.queryLoginNum()); + // 定义Excel表头 String[] headers = {"用户ID", "用户登录名", "用户密码", "用户昵称", "用户权限"}; + // 定义Excel文件名 String fileName = "用户信息"; + // 创建ExportExcel实例 ExportExcel ee = new ExportExcel<>(); + // 导出Excel ee.exportExcel(headers, infoArrayList, fileName, response); } } diff --git a/src/main/java/com/inks/hb/login/controller/LoginTableServlet.java b/src/main/java/com/inks/hb/login/controller/LoginTableServlet.java index 388c5b2..faabff0 100644 --- a/src/main/java/com/inks/hb/login/controller/LoginTableServlet.java +++ b/src/main/java/com/inks/hb/login/controller/LoginTableServlet.java @@ -17,38 +17,51 @@ import java.util.ArrayList; @WebServlet(name = "LoginTableServlet", value = "/LoginTableServlet") public class LoginTableServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { this.doGet(request, response); } + // 处理GET请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 设置响应编码为utf-8 response.setContentType("text/html;charset=utf-8"); + // 获取响应输出流 PrintWriter out = response.getWriter(); - int page = Integer.parseInt(request.getParameter("page")); // 当前页码 - int limit = Integer.parseInt(request.getParameter("limit")); // 每页的数据量 - int make = Integer.parseInt(request.getParameter("make")); //状态标志 + // 获取请求参数 + int page = Integer.parseInt(request.getParameter("page")); + int limit = Integer.parseInt(request.getParameter("limit")); + int make = Integer.parseInt(request.getParameter("make")); + // 创建LoginService实例 LoginService service = new LoginServiceImpl(); - String code = "0"; //状态码 - String msg = "数据查询正常"; //状态信息 - String count; //数据总数 - ArrayList list; //数据内容 + // 初始化返回结果 + String code = "0"; + String msg = "数据查询正常"; + String count; + ArrayList list; - if (make == 4) { //删除 + // 如果make参数为4,则删除对应的登录信息 + if (make == 4) { int loginId = Integer.parseInt(request.getParameter("loginId")); new LogInfoServiceImpl().deleteByName(loginId); service.deleteLogin(loginId); } + // 查询登录信息 list = service.query(page, limit); + // 查询登录信息总数 count = String.valueOf(service.queryLoginNum()); + // 将查询结果封装为PojotoGson对象 PojotoGson pojotoGson = new PojotoGson(code, msg, count, list); + // 使用Gson将PojotoGson对象转换为json字符串 Gson gson = new Gson(); out.print(gson.toJson(pojotoGson)); } diff --git a/src/main/java/com/inks/hb/login/controller/QueryLoginInfoServlet.java b/src/main/java/com/inks/hb/login/controller/QueryLoginInfoServlet.java index 2129b61..6c4a2b6 100644 --- a/src/main/java/com/inks/hb/login/controller/QueryLoginInfoServlet.java +++ b/src/main/java/com/inks/hb/login/controller/QueryLoginInfoServlet.java @@ -1,5 +1,5 @@ package com.inks.hb.login.controller; - +//1 import com.google.gson.Gson; import com.inks.hb.login.pojo.Login; import com.inks.hb.login.service.LoginService; @@ -26,6 +26,7 @@ public class QueryLoginInfoServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // 设置请求和响应的编码格式 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); @@ -38,7 +39,9 @@ public class QueryLoginInfoServlet extends HttpServlet { String loginName = (String) session.getAttribute("LoginName"); try { + // 根据登录名查询login对象 Login login = service.queryLogin(loginName); + // 将login对象转换为json格式 Gson gson = new Gson(); out.print(gson.toJson(login)); } catch (SQLException e) { diff --git a/src/main/java/com/inks/hb/login/controller/QueryLoginNameServlet.java b/src/main/java/com/inks/hb/login/controller/QueryLoginNameServlet.java index 4fed588..c124ea5 100644 --- a/src/main/java/com/inks/hb/login/controller/QueryLoginNameServlet.java +++ b/src/main/java/com/inks/hb/login/controller/QueryLoginNameServlet.java @@ -35,26 +35,38 @@ public class QueryLoginNameServlet extends HttpServlet { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); - // 调用service + + // 创建登录服务对象 LoginService service = new LoginServiceImpl(); + // 创建MD5对象 MD5 md5 = new MD5(); - // 获得姓名 + + // 获取用户登录名和密码 String loginName = request.getParameter("loginName"); String loginPwd = md5.getMD5(request.getParameter("loginPwd")); //转成MD5存储 try { + // 根据用户登录名和密码查询登录结果 int check = service.queryByName(loginName, loginPwd); if (check == 1) { // 设置session + // 获取session对象 HttpSession session = request.getSession(); + // 将登录名存入session session.setAttribute("LoginName", loginName); + // 根据登录名查询登录信息 Login login = service.queryLogin(loginName); - //写入登录记录 + + // 创建日志信息对象 LogInfo logInfo = new LogInfo("登录", login.getLoginId(), login.getLoginName()); + // 创建日志服务对象 LogInfoService logInfoService = new LogInfoServiceImpl(); + // 插入日志信息 logInfoService.insertLogInfo(logInfo); } + // 创建Gson对象 Gson gson = new Gson(); + // 将登录结果以json格式返回 out.print(gson.toJson(check)); } catch (SQLException e) { e.printStackTrace(); diff --git a/src/main/java/com/inks/hb/login/controller/UpdatePwdServlet.java b/src/main/java/com/inks/hb/login/controller/UpdatePwdServlet.java index 3f42ad0..1bfea1c 100644 --- a/src/main/java/com/inks/hb/login/controller/UpdatePwdServlet.java +++ b/src/main/java/com/inks/hb/login/controller/UpdatePwdServlet.java @@ -21,6 +21,7 @@ public class UpdatePwdServlet extends HttpServlet { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // 设置请求和响应的编码格式 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); @@ -37,16 +38,21 @@ public class UpdatePwdServlet extends HttpServlet { int check = -1; try { + // 根据姓名查询用户信息 login = service.queryLogin(loginName); System.out.println(login); + // 更新密码 login.setLoginPwd(loginPwd); System.out.println(login); + // 更新用户信息 check = service.updateLogin(login); System.out.println(check); + // 查询更新后的用户信息 System.out.println(service.queryLogin(loginName)); } catch (SQLException e) { e.printStackTrace(); } + // 将更新结果转换为json格式输出 Gson gson = new Gson(); out.print(gson.toJson(check)); } diff --git a/src/main/java/com/inks/hb/login/controller/UploadFileServlet.java b/src/main/java/com/inks/hb/login/controller/UploadFileServlet.java index 298c772..152c0b5 100644 --- a/src/main/java/com/inks/hb/login/controller/UploadFileServlet.java +++ b/src/main/java/com/inks/hb/login/controller/UploadFileServlet.java @@ -10,15 +10,21 @@ import java.io.PrintWriter; @WebServlet(name = "UploadFileServlet", value = "/UploadFileServlet") public class UploadFileServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 设置响应编码为utf-8 response.setContentType("text/html;charset=utf-8"); + // 获取响应输出流 PrintWriter out = response.getWriter(); } + // 处理GET请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 调用doPost方法处理GET请求 this.doPost(request, response); } } diff --git a/src/main/java/com/inks/hb/login/dao/LoginDao.java b/src/main/java/com/inks/hb/login/dao/LoginDao.java index 0c31de6..aa72540 100644 --- a/src/main/java/com/inks/hb/login/dao/LoginDao.java +++ b/src/main/java/com/inks/hb/login/dao/LoginDao.java @@ -12,120 +12,173 @@ import java.util.ArrayList; public class LoginDao implements CommonDao { + // 插入数据 @Override public void insertData(Object o) throws SQLException { + // 将传入的对象转换为Login对象 Login login = (Login) o; + // 获取数据库连接 Connection conn = DBUtil.getConnection(); + // 定义插入数据的SQL语句 String sql = "INSERT INTO login (loginName, loginPwd, loginNickName, loginAdmin) VALUE (?,?,?,?)"; + // 创建PreparedStatement对象 PreparedStatement pstmt = conn.prepareStatement(sql); + // 设置SQL语句中的参数 pstmt.setString(1, login.getLoginName()); pstmt.setString(2, login.getLoginPwd()); pstmt.setString(3, login.getLoginNickName()); pstmt.setInt(4, login.getLoginAdmin()); + // 执行SQL语句 pstmt.executeUpdate(); + // 关闭PreparedStatement对象 pstmt.close(); } + // 删除数据 @Override public void deleteData(Object o) throws SQLException { + // 将传入的对象转换为Login对象 Login login = (Login) o; + // 获取数据库连接 Connection conn = DBUtil.getConnection(); + // 定义删除数据的SQL语句 String sql = "DELETE FROM login WHERE loginId = ?"; + // 创建PreparedStatement对象 PreparedStatement pstmt = conn.prepareStatement(sql); + // 设置SQL语句中的参数 pstmt.setInt(1, login.getLoginId()); + // 执行SQL语句 pstmt.executeUpdate(); + // 关闭PreparedStatement对象 pstmt.close(); } + // 更新数据 @Override public void updateData(Object o) throws SQLException { + // 将传入的对象转换为Login对象 Login login = (Login) o; + // 获取数据库连接 Connection conn = DBUtil.getConnection(); + // 定义更新数据的SQL语句 String sql = "UPDATE login SET loginName = ? ,loginPwd = ?,loginNickName = ?,loginAdmin = ? WHERE loginId = ?"; + // 创建PreparedStatement对象 PreparedStatement pstmt = conn.prepareStatement(sql); + // 设置SQL语句中的参数 pstmt.setString(1, login.getLoginName()); pstmt.setString(2, login.getLoginPwd()); pstmt.setString(3, login.getLoginNickName()); pstmt.setInt(4, login.getLoginAdmin()); pstmt.setInt(5, login.getLoginId()); + // 执行SQL语句 pstmt.executeUpdate(); + // 关闭PreparedStatement对象 pstmt.close(); } + // 查询数据数量 @Override public int queryDataNum() throws SQLException { + // 获取数据库连接 Connection conn = DBUtil.getConnection(); + // 定义查询数据数量的SQL语句 String sql = "select count(*) from login;"; + // 创建PreparedStatement对象 PreparedStatement pstmt = conn.prepareStatement(sql); + // 执行SQL语句,返回结果集 ResultSet rs = pstmt.executeQuery(); int num; + // 如果结果集中有数据,则获取数据数量 if (rs.next()) num = rs.getInt("count(*)"); else num = 0; + // 关闭结果集和PreparedStatement对象 rs.close(); pstmt.close(); + // 返回数据数量 return num; } + // 查询数据 @Override public ArrayList query(int start, int length) throws SQLException { + // 获取数据库连接 Connection conn = DBUtil.getConnection(); + // 定义查询数据的SQL语句 String sql = "select * from login limit ?, ?;"; + // 创建PreparedStatement对象 PreparedStatement pstmt = conn.prepareStatement(sql); + // 设置SQL语句中的参数 pstmt.setInt(1, start - 1); pstmt.setInt(2, length); + // 执行SQL语句,返回结果集 ResultSet rs = pstmt.executeQuery(); + // 创建ArrayList对象,用于存储查询结果 ArrayList list = new ArrayList<>(); Login login; + // 遍历结果集,将每条数据转换为Login对象,并添加到ArrayList中 while (rs.next()) { login = new Login(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getInt(5)); list.add(login); } + // 关闭结果集和PreparedStatement对象 rs.close(); pstmt.close(); + // 返回ArrayList对象 return list; } + // 根据条件查询数据 @Override public Object query(Object o) throws SQLException { + // 将传入的对象转换为Login对象 Login login = (Login) o; + // 获取数据库连接 Connection conn = DBUtil.getConnection(); + // 定义查询数据的SQL语句 String sql = "SELECT * FROM login WHERE loginName = ?"; + // 创建PreparedStatement对象 PreparedStatement pstmt = conn.prepareStatement(sql); + // 设置SQL语句中的参数 pstmt.setString(1, login.getLoginName()); + // 执行SQL语句,返回结果集 ResultSet rs = pstmt.executeQuery(); + // 创建Login对象,用于存储查询结果 Login loginer = new Login(); + // 如果结果集中有数据,则将数据转换为Login对象 if (rs.next()) { loginer = new Login(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getInt(5)); } + // 关闭结果集和PreparedStatement对象 rs.close(); pstmt.close(); + // 返回Login对象 return loginer; } } diff --git a/src/main/java/com/inks/hb/login/pojo/Login.java b/src/main/java/com/inks/hb/login/pojo/Login.java index 2d997d5..36ff072 100644 --- a/src/main/java/com/inks/hb/login/pojo/Login.java +++ b/src/main/java/com/inks/hb/login/pojo/Login.java @@ -5,15 +5,15 @@ package com.inks.hb.login.pojo; */ public class Login { - private int loginId; //用户ID + private int loginId; - private String loginName; //用户登录名 + private String loginName; - private String loginPwd; //用户密码 + private String loginPwd; - private String loginNickName; //用户昵称 + private String loginNickName; - private int loginAdmin; //用户权限 + private int loginAdmin; public Login() { super(); @@ -43,42 +43,52 @@ public class Login { this.loginAdmin = loginAdmin; } + // 获取loginId public int getLoginId() { return loginId; } + // 设置loginId public void setLoginId(int loginId) { this.loginId = loginId; } + // 获取loginName public String getLoginName() { return loginName; } + // 设置loginName public void setLoginName(String loginName) { this.loginName = loginName; } + // 获取loginPwd public String getLoginPwd() { return loginPwd; } + // 设置loginPwd public void setLoginPwd(String loginPwd) { this.loginPwd = loginPwd; } + // 获取loginNickName public String getLoginNickName() { return loginNickName; } + // 设置loginNickName public void setLoginNickName(String loginNickName) { this.loginNickName = loginNickName; } + // 获取loginAdmin public int getLoginAdmin() { return loginAdmin; } + // 设置loginAdmin public void setLoginAdmin(int loginAdmin) { this.loginAdmin = loginAdmin; } diff --git a/src/main/java/com/inks/hb/login/service/LoginServiceImpl.java b/src/main/java/com/inks/hb/login/service/LoginServiceImpl.java index 763b826..6ef9ffa 100644 --- a/src/main/java/com/inks/hb/login/service/LoginServiceImpl.java +++ b/src/main/java/com/inks/hb/login/service/LoginServiceImpl.java @@ -9,13 +9,17 @@ import java.util.ArrayList; public class LoginServiceImpl implements LoginService { + //实例化LoginDao private LoginDao dao = new LoginDao(); + //实例化MD5 private MD5 md5 = new MD5(); @Override public int queryByName(String name, String pwd) throws SQLException { + //创建Login对象,用于查询 Login loginQuery = new Login(name, pwd); + //查询Login对象 Login login = (Login) dao.query(loginQuery); int check = 0; //密码错误 if (login.getLoginId() == 0) @@ -29,9 +33,12 @@ public class LoginServiceImpl implements LoginService { @Override public Login queryLogin(String name) throws SQLException { + //创建Login对象,用于查询 Login loginQuery = new Login(); + //设置查询条件 loginQuery.setLoginName(name); + //查询Login对象 return (Login) dao.query(loginQuery); } @@ -43,6 +50,7 @@ public class LoginServiceImpl implements LoginService { login.setLoginPwd(md5.getMD5(pwd)); try { + //插入Login对象 dao.insertData(login); } catch (SQLException e) { return -1; @@ -52,10 +60,13 @@ public class LoginServiceImpl implements LoginService { @Override public int deleteLogin(int loginId) { + //创建Login对象,用于删除 Login login = new Login(); + //设置删除条件 login.setLoginId(loginId); try { + //删除Login对象 dao.deleteData(login); } catch (SQLException e) { e.printStackTrace(); @@ -67,10 +78,12 @@ public class LoginServiceImpl implements LoginService { @Override public int updateLogin(Login login) { + //密码转MD5加密存储 String pwd = login.getLoginPwd(); login.setLoginPwd(md5.getMD5(pwd)); try { + //更新Login对象 dao.updateData(login); } catch (SQLException e) { e.printStackTrace(); diff --git a/src/main/java/com/inks/hb/orderinfo/controller/InsertAndUpdateServlet.java b/src/main/java/com/inks/hb/orderinfo/controller/InsertAndUpdateServlet.java index 2df65d7..2a3acfb 100644 --- a/src/main/java/com/inks/hb/orderinfo/controller/InsertAndUpdateServlet.java +++ b/src/main/java/com/inks/hb/orderinfo/controller/InsertAndUpdateServlet.java @@ -50,7 +50,7 @@ public class InsertAndUpdateServlet extends HttpServlet { int discount; - try { //对折扣值为空的处理 + try { discount = Integer.parseInt(request.getParameter("discount")); //13 } catch (NumberFormatException e) { discount = 0; @@ -58,17 +58,15 @@ public class InsertAndUpdateServlet extends HttpServlet { OrderInfo orderInfo = new OrderInfo(orderId, orderName, orderPhone, orderIDcard, typeId, arrireDate, leaveDate, orderState, checkNum, roomId, price, checkPrice, discount, discountReason, addBed, addBedPrice, orderMoney, remark, operatorId); - int code = -1; //返回的状态 + int code = -1; - if (make == 1) { //1.新增 + if (make == 1) { code = service.insertOrderInfo(orderInfo); - } else if (make == 2) { //修改 + } else if (make == 2) { code = service.updateOrderInfo(orderInfo); } - //make=1 -> 1:插入成功 0:存在同名项 -1:插入失败 - //make=2 -> 1:修改成功 -1;修改失败 Gson gson = new Gson(); out.print(gson.toJson(code)); } diff --git a/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoExcelServlet.java b/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoExcelServlet.java index 1310930..9efbc61 100644 --- a/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoExcelServlet.java +++ b/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoExcelServlet.java @@ -16,22 +16,31 @@ import java.util.ArrayList; @WebServlet(name = "OrderInfoExcelServlet", value = "/OrderInfoExcelServlet") public class OrderInfoExcelServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) { this.doGet(request, response); } + // 处理GET请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) { + // 创建OrderInfoService实例 OrderInfoService service = new OrderInfoServiceImpl(); + // 创建RoomTypeService实例 RoomTypeService roomTypeService = new RoomTypeServiceImpl(); + // 查询所有订单信息 ArrayList infoArrayList = service.query(1, service.queryOrderInfoNum()); - ArrayList list = new ArrayList<>(); //转成可使用 + // 创建一个ArrayList用于存储OrderToTable对象 + ArrayList list = new ArrayList<>(); + // 创建OrderToTable对象 OrderToTable toTable; - for (OrderInfo orderInfo : infoArrayList) { //转换成前端界面可接收的类型 主要是转 房间类型 和操作员 + // 遍历订单信息列表 + for (OrderInfo orderInfo : infoArrayList) { + // 将订单信息转换为OrderToTable对象 toTable = new OrderToTable(orderInfo.getOrderId(), orderInfo.getOrderName(), orderInfo.getOrderPhone() , orderInfo.getOrderIDcard(), orderInfo.getArrireDate(), orderInfo.getLeaveDate() , roomTypeService.query(orderInfo.getTypeId().getTypeId()).getTypeName() @@ -39,13 +48,18 @@ public class OrderInfoExcelServlet extends HttpServlet { , orderInfo.getDiscount(), orderInfo.getDiscountReason(), orderInfo.getAddBed() , orderInfo.getAddBedPrice(), orderInfo.getOrderMoney(), orderInfo.getOrderState() , orderInfo.getRemark(), orderInfo.getOperatorId().getLoginName()); + // 将OrderToTable对象添加到列表中 list.add(toTable); } + // 定义Excel表头 String[] headers = {"预订单号", "预定人", "联系电话", "身份证", "抵店时间", "离店时间", "房间类型", "入住人数", "客房价格", "入住价格", "折扣", "折扣原因", "是否加床", "加床价格", "预收款", "单据状态", "备注", "操作员"}; + // 定义Excel文件名 String fileName = "预订单信息"; + // 创建ExportExcel实例 ExportExcel ee = new ExportExcel<>(); + // 导出Excel文件 ee.exportExcel(headers, list, fileName, response); } } diff --git a/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoServlet.java b/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoServlet.java index 3c57ed5..e49a9b5 100644 --- a/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoServlet.java +++ b/src/main/java/com/inks/hb/orderinfo/controller/OrderInfoServlet.java @@ -49,7 +49,7 @@ public class OrderInfoServlet extends HttpServlet { String orderId; //预定单号 String select; //查询值 - //获取对应状态属性 + //获取对应状态shuxing if (make == 1 || make == 2) { //1和2这部分完全是相同的 select = request.getParameter("select"); list = service.queryOrder(make, select); diff --git a/src/main/java/com/inks/hb/orderinfo/controller/QueryOrderInfoServlet.java b/src/main/java/com/inks/hb/orderinfo/controller/QueryOrderInfoServlet.java index e761107..7791db3 100644 --- a/src/main/java/com/inks/hb/orderinfo/controller/QueryOrderInfoServlet.java +++ b/src/main/java/com/inks/hb/orderinfo/controller/QueryOrderInfoServlet.java @@ -21,6 +21,7 @@ public class QueryOrderInfoServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // 设置请求和响应的编码格式 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); @@ -28,8 +29,10 @@ public class QueryOrderInfoServlet extends HttpServlet { // 获取值 String orderId = request.getParameter("orderId"); + // 根据订单id查询订单信息 OrderInfo orderInfo = new OrderInfoServiceImpl().query(orderId); + // 将订单信息转换为表格形式 OrderToTable toTable = new OrderToTable(orderInfo.getOrderId(), orderInfo.getOrderName(), orderInfo.getOrderPhone() , orderInfo.getOrderIDcard(), orderInfo.getArrireDate(), orderInfo.getLeaveDate() , new RoomTypeServiceImpl().query(orderInfo.getTypeId().getTypeId()).getTypeId() @@ -38,6 +41,7 @@ public class QueryOrderInfoServlet extends HttpServlet { , orderInfo.getAddBedPrice(), orderInfo.getOrderMoney(), orderInfo.getOrderState() , orderInfo.getRemark(), orderInfo.getOperatorId().getLoginName()); + // 将表格形式转换为json格式 Gson gson = new Gson(); out.print(gson.toJson(toTable)); } diff --git a/src/main/java/com/inks/hb/orderinfo/pojo/OrderInfo.java b/src/main/java/com/inks/hb/orderinfo/pojo/OrderInfo.java index 025df30..1dacf58 100644 --- a/src/main/java/com/inks/hb/orderinfo/pojo/OrderInfo.java +++ b/src/main/java/com/inks/hb/orderinfo/pojo/OrderInfo.java @@ -3,10 +3,7 @@ package com.inks.hb.orderinfo.pojo; import com.inks.hb.login.pojo.Login; import com.inks.hb.roomtype.pojo.RoomType; -/** - * 预订单 - * 字段太多了,只提供空参构造器 - */ + public class OrderInfo { private String orderId; //预订单号->直接获取时间戳?存进去 1 diff --git a/src/main/java/com/inks/hb/orderinfo/pojo/OrderToTable.java b/src/main/java/com/inks/hb/orderinfo/pojo/OrderToTable.java index 407e65e..1d7d5d0 100644 --- a/src/main/java/com/inks/hb/orderinfo/pojo/OrderToTable.java +++ b/src/main/java/com/inks/hb/orderinfo/pojo/OrderToTable.java @@ -1,11 +1,6 @@ package com.inks.hb.orderinfo.pojo; -/** - * 怎么的呢 - * 这个类将关联类换成了String - * 并且去掉了前端不需要的字段 - * 都怪数据库设计时不仔细呀 - */ + public class OrderToTable { private String orderId; //预订单号->直接获取时间戳?存进去 1 diff --git a/src/main/java/com/inks/hb/orderinfo/service/OrderInfoService.java b/src/main/java/com/inks/hb/orderinfo/service/OrderInfoService.java index c994213..9d5f0df 100644 --- a/src/main/java/com/inks/hb/orderinfo/service/OrderInfoService.java +++ b/src/main/java/com/inks/hb/orderinfo/service/OrderInfoService.java @@ -6,12 +6,7 @@ import java.util.ArrayList; public interface OrderInfoService { - /** - * 插入一条数据 - * - * @param orderInfo 预订单 - * @return -1失败 0重名 1成功 - */ + int insertOrderInfo(OrderInfo orderInfo); //删除 diff --git a/src/main/java/com/inks/hb/orderinfo/service/OrderInfoServiceImpl.java b/src/main/java/com/inks/hb/orderinfo/service/OrderInfoServiceImpl.java index fc8192d..f85bbfa 100644 --- a/src/main/java/com/inks/hb/orderinfo/service/OrderInfoServiceImpl.java +++ b/src/main/java/com/inks/hb/orderinfo/service/OrderInfoServiceImpl.java @@ -10,15 +10,20 @@ import java.util.ArrayList; public class OrderInfoServiceImpl implements OrderInfoService { + //实例化OrderInfoDao private OrderInfoDao dao = new OrderInfoDao(); + //插入订单信息 @Override public int insertOrderInfo(OrderInfo orderInfo) { try { + //获取订单号 String orderId = orderInfo.getOrderId(); + //查询订单号是否重复 if (queryRepeat(orderId, orderId) != 1) return 0; + //插入订单信息 dao.insertData(orderInfo); } catch (SQLException e) { System.out.println(e.getErrorCode() + e.getMessage()); @@ -27,12 +32,14 @@ public class OrderInfoServiceImpl implements OrderInfoService { return 1; } + //删除订单信息 @Override public int deleteOrderInfo(String orderId) { OrderInfo orderInfo = new OrderInfo(); orderInfo.setOrderId(orderId); try { + //删除订单信息 dao.deleteData(orderInfo); } catch (SQLException e) { System.out.println(e.getErrorCode() + e.getMessage()); @@ -41,9 +48,11 @@ public class OrderInfoServiceImpl implements OrderInfoService { return 1; } + //更新订单信息 @Override public int updateOrderInfo(OrderInfo orderInfo) { try { + //更新订单信息 dao.updateData(orderInfo); } catch (SQLException e) { System.out.println(e.getErrorCode() + e.getMessage()); @@ -53,12 +62,14 @@ public class OrderInfoServiceImpl implements OrderInfoService { return 1; } + //查询订单信息 @Override public OrderInfo query(String orderId) { OrderInfo orderInfo = new OrderInfo(); orderInfo.setOrderId(orderId); try { + //查询订单信息 return (OrderInfo) dao.query(orderInfo); } catch (SQLException e) { System.out.println(e.getErrorCode() + e.getMessage()); @@ -66,6 +77,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { } } + //分页查询订单信息 @Override public ArrayList query(int page, int limit) { int start = (page * limit) - limit + 1; //每一页的起始位置 @@ -74,6 +86,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { start = 1; //但是理论上page和limit是由table表格生成的参数 try { + //分页查询订单信息 return dao.query(start, limit); } catch (SQLException e) { System.out.println(e.getErrorCode() + e.getMessage()); @@ -81,9 +94,11 @@ public class OrderInfoServiceImpl implements OrderInfoService { } } + //查询订单信息数量 @Override public int queryOrderInfoNum() { try { + //查询订单信息数量 return dao.queryDataNum(); } catch (SQLException e) { System.out.println(e.getErrorCode() + e.getMessage()); @@ -91,6 +106,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { } } + //根据条件查询订单信息 @Override public ArrayList queryOrder(int make, String select) { @@ -105,6 +121,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { } try { + //根据条件查询订单信息 return dao.queryOrder(make, select); } catch (SQLException e) { System.out.println(e.getErrorCode() + e.getMessage()); @@ -112,12 +129,14 @@ public class OrderInfoServiceImpl implements OrderInfoService { } } + //查询订单信息是否重复 @Override public int queryRepeat(String newName, String oldName) { OrderInfo orderInfoQuery = new OrderInfo(); orderInfoQuery.setOrderId(newName); OrderInfo orderInfo; try { + //查询订单信息 orderInfo = (OrderInfo) dao.query(orderInfoQuery); if (!orderInfo.isNull()) { if (orderInfo.getOrderId().equals(oldName)) diff --git a/src/main/java/com/inks/hb/roomtype/controller/InsertRoomTypeServlet.java b/src/main/java/com/inks/hb/roomtype/controller/InsertRoomTypeServlet.java index abc6b29..35bef76 100644 --- a/src/main/java/com/inks/hb/roomtype/controller/InsertRoomTypeServlet.java +++ b/src/main/java/com/inks/hb/roomtype/controller/InsertRoomTypeServlet.java @@ -34,7 +34,6 @@ public class InsertRoomTypeServlet extends HttpServlet { Gson gson = new Gson(); RoomType roomType = gson.fromJson(json, RoomType.class); - //主键ID没有想好暂时就用时间吧 Date day = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyMMddHHmmss"); roomType.setTypeId("RT" + df.format(day)); diff --git a/src/main/java/com/inks/hb/roomtype/controller/QueryRoomTypeNameServlet.java b/src/main/java/com/inks/hb/roomtype/controller/QueryRoomTypeNameServlet.java index 3bba358..a893d23 100644 --- a/src/main/java/com/inks/hb/roomtype/controller/QueryRoomTypeNameServlet.java +++ b/src/main/java/com/inks/hb/roomtype/controller/QueryRoomTypeNameServlet.java @@ -19,6 +19,7 @@ public class QueryRoomTypeNameServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { + // 设置请求和响应的编码格式 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); @@ -26,6 +27,7 @@ public class QueryRoomTypeNameServlet extends HttpServlet { // 调用service RoomTypeService service = new RoomTypeServiceImpl(); + // 获取请求参数 String newName = request.getParameter("new"); //获得姓名 String oldName = request.getParameter("old"); diff --git a/src/main/java/com/inks/hb/roomtype/controller/RoomInfoExcelServlet.java b/src/main/java/com/inks/hb/roomtype/controller/RoomInfoExcelServlet.java index dd58a9c..d68db93 100644 --- a/src/main/java/com/inks/hb/roomtype/controller/RoomInfoExcelServlet.java +++ b/src/main/java/com/inks/hb/roomtype/controller/RoomInfoExcelServlet.java @@ -13,22 +13,31 @@ import java.util.ArrayList; @WebServlet(name = "RoomInfoExcelServlet", value = "/RoomInfoExcelServlet") public class RoomInfoExcelServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) { this.doGet(request, response); } + // 处理GET请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) { + // 创建RoomTypeService实例 RoomTypeService service = new RoomTypeServiceImpl(); + // 定义一个RoomType类型的ArrayList ArrayList infoArrayList = null; + // 调用service的query方法,查询房间类型信息 infoArrayList = service.query(1, service.queryRoomTypeNum()); + // 定义Excel表头 String[] headers = {"类型编号", "类型名称", "价格", "拼房价格", "可超预定数", "是否可拼房"}; + // 定义Excel文件名 String fileName = "房间类型信息"; + // 创建ExportExcel实例 ExportExcel ee = new ExportExcel<>(); + // 调用exportExcel方法,导出Excel文件 ee.exportExcel(headers, infoArrayList, fileName, response); } } diff --git a/src/main/java/com/inks/hb/roomtype/controller/RoomTypeServlet.java b/src/main/java/com/inks/hb/roomtype/controller/RoomTypeServlet.java index c39db07..1a61851 100644 --- a/src/main/java/com/inks/hb/roomtype/controller/RoomTypeServlet.java +++ b/src/main/java/com/inks/hb/roomtype/controller/RoomTypeServlet.java @@ -14,10 +14,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; -/** - * 与表格相关的全部操作 - * 状态标志: make 0重载 1新增 2修改 3搜索 4删除 - */ + @WebServlet(name = "RoomTypeServlet", value = "/RoomTypeServlet") public class RoomTypeServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { diff --git a/src/main/java/com/inks/hb/roomtype/controller/selectRomeTypeIdServlet.java b/src/main/java/com/inks/hb/roomtype/controller/selectRomeTypeIdServlet.java index b2ada08..e2218aa 100644 --- a/src/main/java/com/inks/hb/roomtype/controller/selectRomeTypeIdServlet.java +++ b/src/main/java/com/inks/hb/roomtype/controller/selectRomeTypeIdServlet.java @@ -1,5 +1,5 @@ package com.inks.hb.roomtype.controller; - +// import com.google.gson.Gson; import com.inks.hb.roomtype.service.RoomTypeService; import com.inks.hb.roomtype.service.RoomTypeServiceImpl; diff --git a/src/main/java/com/inks/hb/roomtype/dao/RoomTypeDao.java b/src/main/java/com/inks/hb/roomtype/dao/RoomTypeDao.java index 2e33de0..8e5e958 100644 --- a/src/main/java/com/inks/hb/roomtype/dao/RoomTypeDao.java +++ b/src/main/java/com/inks/hb/roomtype/dao/RoomTypeDao.java @@ -10,11 +10,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; -/** - * 房间类型 DAO - * 提供独立函数:public RoomType queryName(String typeName) throws SQLException - * 根据类型名称进行查询 - */ + public class RoomTypeDao implements CommonDao { @Override diff --git a/src/main/java/com/inks/hb/roomtype/pojo/RoomType.java b/src/main/java/com/inks/hb/roomtype/pojo/RoomType.java index eaf5841..cd42db6 100644 --- a/src/main/java/com/inks/hb/roomtype/pojo/RoomType.java +++ b/src/main/java/com/inks/hb/roomtype/pojo/RoomType.java @@ -1,11 +1,6 @@ package com.inks.hb.roomtype.pojo; -/** - * 2017.11.23 -------- - * 添加isNull字段,现在可以通过setNull设置元素信息,通过isNull读取信息 - * 原构造函数不变,不提供含该字段的构造函数,该字段应主要用于查询函数(查询函数不返回未实例化的对象) - * ------------ - */ + public class RoomType { private String typeId; //类型编号 diff --git a/src/main/java/com/inks/hb/roomtype/service/RoomTypeService.java b/src/main/java/com/inks/hb/roomtype/service/RoomTypeService.java index b718ee8..21590b4 100644 --- a/src/main/java/com/inks/hb/roomtype/service/RoomTypeService.java +++ b/src/main/java/com/inks/hb/roomtype/service/RoomTypeService.java @@ -4,10 +4,6 @@ import com.inks.hb.roomtype.pojo.RoomType; import java.util.ArrayList; -/** - * 数据异常在本层解决 - * 但凡出现SQL方面异常均返回-1 - */ public interface RoomTypeService { //增添 diff --git a/src/main/java/com/inks/hb/roomtype/service/RoomTypeServiceImpl.java b/src/main/java/com/inks/hb/roomtype/service/RoomTypeServiceImpl.java index 65a7191..7f22faf 100644 --- a/src/main/java/com/inks/hb/roomtype/service/RoomTypeServiceImpl.java +++ b/src/main/java/com/inks/hb/roomtype/service/RoomTypeServiceImpl.java @@ -13,55 +13,75 @@ import java.util.ArrayList; */ public class RoomTypeServiceImpl implements RoomTypeService { + // 实例化RoomTypeDao对象 private RoomTypeDao dao = new RoomTypeDao(); @Override public int insertRoomType(RoomType roomType) { try { + // 获取房间类型名称 String name = roomType.getTypeName(); + // 查询房间类型名称是否重复 if (queryRepeat(name, name) != 1) return 0; + // 插入房间类型数据 dao.insertData(roomType); } catch (SQLException e) { + // 打印异常信息 System.out.println(e.getErrorCode() + e.getMessage()); + // 返回-1表示插入失败 return -1; } + // 返回1表示插入成功 return 1; } @Override public int deleteRoomType(String typeId) { + // 创建一个RoomType对象 RoomType roomType = new RoomType(); + // 设置RoomType对象的typeId属性 roomType.setTypeId(typeId); try { + // 调用dao的deleteData方法,删除RoomType对象 dao.deleteData(roomType); } catch (SQLException e) { + // 如果发生SQLException异常,打印异常信息 System.out.println(e.getErrorCode() + e.getMessage()); + // 返回-1表示删除失败 return -1; } + // 返回1表示删除成功 return 1; } @Override public int updateRoomType(RoomType roomType) { try { + // 调用dao的updateData方法,更新RoomType对象 dao.updateData(roomType); } catch (SQLException e) { + // 如果发生SQLException异常,打印异常信息 System.out.println(e.getErrorCode() + e.getMessage()); + // 返回-1表示更新失败 return -1; } + // 返回1表示更新成功 return 1; } @Override public RoomType query(String typeId) { + //根据typeId查询RoomType RoomType roomType = new RoomType(); roomType.setTypeId(typeId); try { + //调用dao的query方法查询RoomType return (RoomType) dao.query(roomType); } catch (SQLException e) { + //捕获异常并打印错误信息 System.out.println(e.getErrorCode() + e.getMessage()); return null; } @@ -69,14 +89,17 @@ public class RoomTypeServiceImpl implements RoomTypeService { @Override public ArrayList query(int page, int limit) { + //根据page和limit查询RoomType int start = (page * limit) - limit + 1; //每一页的起始位置 if (start < 1) //小于1的话会触发一个错误 start = 1; //但是理论上page和limit是由table表格生成的参数 try { + //调用dao的query方法查询RoomType return dao.query(start, limit); } catch (SQLException e) { + //捕获异常并打印错误信息 System.out.println(e.getErrorCode() + e.getMessage()); return null; } @@ -86,8 +109,10 @@ public class RoomTypeServiceImpl implements RoomTypeService { public int queryRoomTypeNum() { try { + //查询数据库中房间类型的数量 return dao.queryDataNum(); } catch (SQLException e) { + //打印错误信息 System.out.println(e.getErrorCode() + e.getMessage()); return -1; } @@ -98,14 +123,19 @@ public class RoomTypeServiceImpl implements RoomTypeService { RoomType roomType; try { + //查询数据库中是否存在与newName相同的房间类型 roomType = dao.queryName(newName); if (!roomType.isNull()) {//表示存在同名项 + //如果newName与oldName相同,则返回2 if (roomType.getTypeName().equals(oldName)) return 2; //表示存在同名项,但是是与传递来的相同 + //如果newName与oldName不同,则返回0 return 0; } else + //如果数据库中不存在与newName相同的房间类型,则返回1 return 1; } catch (SQLException e) { + //打印错误信息 System.out.println(e.getErrorCode() + e.getMessage()); return -1; }