```数据封装在build,builds中 可是输出的不是数据库中的数据而是
DormBuildDaoImpl.java
package zj.shizhan.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import zj.shizhan.bean.DormBuild;
import zj.shizhan.util.ConnectionFactory;
public class DormBuildDaoImpl implements DormBuildDao {
@Override
public DormBuild findByName(String dormBuildName) {
//获取连接(数据库地址 用户名 密码)
Connection connection = ConnectionFactory.getConnection();
try {
String sql = "select * from dormbuild where dormBuildName = ? ";
//执行SQL语句 获取集装箱 或者说是 车
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, dormBuildName);
ResultSet rs = preparedStatement .executeQuery();
//因为查询出来的信息包括表头信息,所以指针下移一行,看是否有查询出的数据
//如有数据,就进入循环体封装该行数据
while (rs.next()) {
DormBuild build = new DormBuild();
build.setDormBuildId(rs.getInt("dormBuildId"));
build.setDormBuildName(rs.getString("dormBuildName"));
build.setDetail(rs.getString("detail"));
return build;
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public void save(DormBuild build) {
//获取连接(数据库地址 用户名 密码)
Connection connection = ConnectionFactory.getConnection();
try {
String sql = "INSERT INTO dormbuild(dormBuildName,detail)VALUES(?,?)";
//执行SQL语句 获取集装箱 或者说是 车
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, build.getDormBuildName());
preparedStatement.setString(2, build.getDetail());
preparedStatement .executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public List<DormBuild> find() {
//获取连接(数据库地址 用户名 密码)
Connection connection = ConnectionFactory.getConnection();
try {
String sql = "select * from dormbuild ";
//执行SQL语句 获取集装箱 或者说是 车
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet rs = preparedStatement .executeQuery();
//因为查询出来的信息包括表头信息,所以指针下移一行,看是否有查询出的数据
//如有数据,就进入循环体封装该行数据
List<DormBuild> builds = new ArrayList<DormBuild>();
while (rs.next()) {
DormBuild build = new DormBuild();
build.setDormBuildId(rs.getInt("dormBuildId"));
build.setDormBuildName(rs.getString("dormBuildName"));
build.setDetail(rs.getString("detail"));
builds.add(build);
}
return builds;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public DormBuild findById(Integer dormBuildId) {
//获取连接(数据库地址 用户名 密码)
Connection connection = ConnectionFactory.getConnection();
try {
String sql = "select * from dormbuild where dormBuildId = ? ";
//执行SQL语句 获取集装箱 或者说是 车
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, dormBuildId);
ResultSet rs = preparedStatement .executeQuery();
//因为查询出来的信息包括表头信息,所以指针下移一行,看是否有查询出的数据
//如有数据,就进入循环体封装该行数据
while (rs.next()) {
DormBuild build = new DormBuild();
build.setDormBuildId(rs.getInt("dormBuildId"));
build.setDormBuildName(rs.getString("dormBuildName"));
build.setDetail(rs.getString("detail"));
return build;
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public void update(DormBuild build ) {
//获取连接(数据库地址 用户名 密码)
Connection connection = ConnectionFactory.getConnection();
try {
String sql = "UPDATE dormbuild SET dormBuildName = ?,detail = ? WHERE dormBuildId = ?";
//执行SQL语句 获取集装箱 或者说是 车
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, build.getDormBuildName());
preparedStatement.setString(2, build.getDetail());
preparedStatement.setInt(3, build.getDormBuildId());
//执行更新
preparedStatement .executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
# DormBuildServlet.java
package zj.shizhan.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
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 zj.shizhan.bean.DormBuild;
import zj.shizhan.service.DormBuildService;
import zj.shizhan.service.DormBuildServiceImpl;
/**
-
Servlet implementation class DormBuildServlet
*/
@WebServlet("/dormBuild.action")
public class DormBuildServlet extends HttpServlet {
private static final long serialVersionUID = 1L;/**
- @see HttpServlet#HttpServlet() */ public DormBuildServlet() { super();
}
/**
-
@see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");String action = request.getParameter("action");
//通过request.getParameter("id")方式获取的值都是String类型的
String dormBuildId = request.getParameter("dormBuildId");
System.out.println("action:"+action);DormBuildService dormBuildService = new DormBuildServiceImpl();
if(action !=null & action.equals("list")) {
List<DormBuild> builds = new ArrayList<DormBuild>(); if( dormBuildId== null || dormBuildId.equals("")) { //查询所有宿舍楼信息,跳转到宿舍楼列表页 builds = dormBuildService.find(); }else if(dormBuildId != null && !dormBuildId.equals("")) { //点击查询按钮搜索某一栋宿舍楼的信息 DormBuild build = dormBuildService.findById(Integer.parseInt(dormBuildId)); builds.add(build); System.out.println("build:"+build); } //查询所有宿舍楼。在select中遍历 List<DormBuild> buildSelects = dormBuildService.find(); request.setAttribute("buildSelects", buildSelects); request.setAttribute("dormBuildId", dormBuildId); System.out.println("builds:"+builds); request.setAttribute("builds", builds); request.getRequestDispatcher("BuildList.jsp").forward(request, response);
}else if (action !=null & "preAdd".equals(action)) {
//表示跳转到宿舍楼添加页面
request.getRequestDispatcher("AddOrAlterBuild.jsp").forward(request, response);
}else if (action !=null & "save".equals(action)) {//保存数据 String n = request.getParameter("dormBuildName"); String dormBuildName = new String(n.getBytes("ISO-8859-1"), "utf-8"); String m = request.getParameter("detail"); String detail = new String(m.getBytes("ISO-8859-1"), "utf-8"); System.out.println("dormBuildName:"+dormBuildName+"detail:"+detail+"id:"+dormBuildId); //判断宿舍楼名字是否已存在 DormBuild dormBuild = dormBuildService.findByName(dormBuildName); System.out.println("dormBuildName:"+dormBuildName); System.out.println("id2:"+dormBuildId); if(dormBuildId !=null && !"".equals(dormBuildId)) { System.out.println("id3:"+dormBuildId); //修改 if (dormBuild != null && !dormBuild.getDormBuildId().equals(Integer.parseInt(dormBuildId))) { request.setAttribute("error", "该宿舍楼已存在"); //格局宿舍楼id,查询宿舍楼 DormBuild build = dormBuildService.findById(Integer.parseInt(dormBuildId)); //保存宿舍楼信息,到前端页面展示 request.setAttribute("build", build); request.getRequestDispatcher("AddOrAlterBuild.jsp").forward(request, response); }else { dormBuild = dormBuildService.findById(Integer.parseInt(dormBuildId)); dormBuild.setDormBuildName(dormBuildName); dormBuild.setDetail(detail); dormBuildService.update(dormBuild); //更新完成后,跳转到宿舍楼管理列表页,查询所有宿舍楼 List<DormBuild> builds = dormBuildService.find(); request.setAttribute("builds", builds); request.getRequestDispatcher("BuildList.jsp").forward(request, response); } }else { //保存 System.out.println("id4:"+dormBuildId); if (dormBuild != null) { //该宿舍楼已存在 request.setAttribute("error", "该宿舍楼已存在"); request.getRequestDispatcher("AddOrAlterBuild.jsp").forward(request, response); }else { //该宿舍楼已不存在 DormBuild build = new DormBuild(); build.setDormBuildName(dormBuildName); build.setDetail(detail); dormBuildService.save(build); List<DormBuild> builds = dormBuildService.find(); request.setAttribute("builds", builds); request.getRequestDispatcher("BuildList.jsp").forward(request, response); } }
}else if (action !=null & "preUpdate".equals(action)) {
//格局宿舍楼id,查询宿舍楼
DormBuild build = dormBuildService.findById(Integer.parseInt(dormBuildId));
System.out.println("id1:"+dormBuildId);
//保存宿舍楼信息,到前端页面展示
request.setAttribute("build", build);//表示跳转到宿舍楼修改页面 request.getRequestDispatcher("AddOrAlterBuild.jsp").forward(request, response);
}
}
}
# DormBuild.java
package zj.shizhan.bean;
public class DormBuild {
private Integer dormBuildId;
private String dormBuildName;
private String detail;
public DormBuild() {
super();
}
public DormBuild(Integer dormBuildId,String dormBuildName, String detail) {
super();
this.dormBuildId = dormBuildId;
this.dormBuildName = dormBuildName;
this.detail = detail;
}
public String getDormBuildName() {
return dormBuildName;
}
public void setDormBuildName(String dormBuildName) {
this.dormBuildName = dormBuildName;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public Integer getDormBuildId() {
return dormBuildId;
}
public void setDormBuildId(Integer dormBuildId) {
this.dormBuildId = dormBuildId;
}
}