首页 > 技术文章 > 增删查改写在一个服务上,分页

loveJavaJava 2020-08-10 22:15 原文

2020年8月10日

   今天在公司在昨天的基础上增加了两表联查,和分页语句

   回顾总结项目整体思路:bean放学生,班级实体例,

dao是连接数据库,其中BaseDao连接池,studentDao 声明增删查改,

studentDaoImpl具体写sql语句,参数

handler两表联查,得新表

studentTest先在控制台,内部服务器 run Application测试,为确保后端没问题

servlet增删查改卸载一个服务器上,通过Type 标识,

入门验证,用户输入得参数全部都不能为空

待完善验证,如pwd 由字母,数字,特殊字符等组成

id,classid都要是数据库里的

package org.lanqiao.servlet;

import java.io.IOException;
import java.util.List;

import javax.security.auth.message.callback.PrivateKeyCallback.Request;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.lanqiao.bean.ResponseData;
import org.lanqiao.bean.Student;
import org.lanqiao.dao.StudentDao;
import org.lanqiao.dao.impl.StudentDaoImpl;

import com.google.gson.Gson;

@WebServlet("/StudentServlet")
public class StudentServlet extends HttpServlet {
StudentDao dao=new StudentDaoImpl();
HttpServletRequest request;
HttpServletResponse response;
Gson gson=new Gson();
//返回的数据包
ResponseData data=new ResponseData();

@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.request=request;
this.response=response;
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Type", "text/html;charset=utf-8");

//用户需要执行的操作
String type=getString("type");
if (type!=null) {
switch (type) {
case "add":
add() ;
break;
case "delete":
delete() ;
break;
case "update":
update() ;
break;
case "select":
select() ;
break;

default:
break;
}
}else {
data.setCode(3);
data.setMsg("缺少type参数");
}
response.getWriter().write(gson.toJson(data));
}


//分页查询
private void select() {
//默认第一页
Integer pageIndex=isNull("pageIndex")?1:getInt("pageIndex");
//默认每页显示5条记录
Integer pageSize=isNull("pageSize")?5:getInt("pageSize");
List<Student> getStudentPaging = dao.GetStudentPaging(pageIndex, pageSize);

//返回回去的数据
data.setData(getStudentPaging);

}
private void update() {
System.out.println("update");
String name=getString("name");
String pwd=getString("pwd");
Integer classid=getInt("classid");
Integer id=getInt("id");

if (name==null||pwd==null||classid==null||id==null) {
data.setCode(3);
data.setMsg("参数不全");
return;
}
Integer i = dao.updateStudent(new Student(id, name, pwd, classid));
if (i>0) {
data.setCode(2);
data.setData(i);
}else {
data.setCode(3);
data.setMsg("服务器异常、请稍后再试!!!");
}
}
private void delete() {
System.out.println("delete");
Integer id=getInt("id");
if (id==null) {
data.setCode(3);
data.setMsg("删除的ID不能为空!");
return;
}
Integer i = dao.deleteStudentById(id);
if (i>0) {
data.setCode(2);
data.setData(i);
}else {
data.setCode(3);
data.setMsg("服务器异常、请稍后再试!!!");
}
}
private void add() {
System.out.println("update");
String name=getString("name");
String pwd=getString("pwd");
Integer classid=getInt("classid");

if (name==null||pwd==null||classid==null) {
data.setCode(3);
data.setMsg("参数不全");
return;
}
Integer i = dao.addStudent(new Student(name, pwd, classid));
if (i>0) {
data.setCode(2);
data.setData(i);
}else {
data.setCode(3);
data.setMsg("服务器异常、请稍后再试!!!");
}
}

//判断用户传递的参数是否为空
public boolean isNull(String key) {
return request.getParameter(key)==null;
}

//获取用户传递过来的整形
public Integer getInt(String key) {
if (!isNull(key))
return Integer.parseInt(request.getParameter(key));
return null;
}

//获取用户传递过来的字符串
public String getString(String key) {
if (!isNull(key))
return request.getParameter(key);
return null;
}
}

遗忘知识

推荐阅读