package com.service;
/**
* 负责学生信息的所有数据库操作,增删改查
*/
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 com.model.stuInfo;
public class stuInfoService {
private Connection conn;
private PreparedStatement pstmt;//执行sql语句
public stuInfoService() {
conn = new com.conn.conn().getCon();
}
public boolean addStu(stuInfo stu) {//插入学生数据
try {
pstmt = conn.prepareStatement("insert into studentinfo"
+ "(Nickname,truename,sex,birthday,major,course,interest,remark) "
+ "values(?,?,?,?,?,?,?,?)");
pstmt.setString(1, stu.getNickname());
pstmt.setString(2, stu.getTruename());
pstmt.setByte(3, stu.getSex());
pstmt.setString(4, stu.getbirthday());
pstmt.setString(5, stu.getmajor());
pstmt.setString(6, stu.getcourses());
pstmt.setString(7, stu.getinterests());
pstmt.setString(8, stu.getremark());
pstmt.executeUpdate();
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
//查询所哟学生信息
public List<stuInfo> queryAllStu() {//查询学生数据
List<stuInfo> stus = new ArrayList<stuInfo>();//每一个学生的信息作为list集合的每一个元素存储在list集合中
try {
pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
stuInfo stu = new stuInfo();
stu.setId(rs.getInt(1));
stu.setNickname(rs.getString(2));
stu.setTruename(rs.getString(3));
stu.setSex(rs.getByte(4));
if (rs.getDate(5) != null)
stu.setbirthday(rs.getDate(5).toString());
stu.setmajor(rs.getString(6));
if (rs.getString(7) != null)
stu.setcourse(rs.getString(7).split("&"));
if (rs.getString(8) != null)
stu.setinterest(rs.getString(8).split("&"));
stu.setremark(rs.getString(9));
stus.add(stu);
}
return stus;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
//查询单个学生信息
public stuInfo queryStubyID(int id) {
// List stus = new ArrayList();
try {
pstmt = conn
.prepareStatement("select * from studentinfo where id=?");
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
stuInfo stu = new stuInfo();
stu.setId(rs.getInt(1));
stu.setNickname(rs.getString(2));
stu.setTruename(rs.getString(3));
stu.setSex(rs.getByte(4));
if (rs.getDate(5) != null)
stu.setbirthday(rs.getDate(5).toString());
stu.setmajor(rs.getString(6));
if (rs.getString(7) != null)
stu.setcourse(rs.getString(7).split("&"));
if (rs.getString(8) != null)
stu.setinterest(rs.getString(8).split("&"));
stu.setremark(rs.getString(9));
// stus.add(stu);
return stu;
}
return null;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
//更新学生信息
public boolean updateStu(stuInfo stu) {
try {
pstmt = conn
.prepareStatement("update studentinfo set Nickname=? , truename=? , sex=? ,birthday=? ,"
+ " major=? ,course=? , interest=?, remark=? where id=?");
pstmt.setString(1, stu.getNickname());
pstmt.setString(2, stu.getTruename());
pstmt.setByte(3, stu.getSex());
pstmt.setString(4, stu.getbirthday());
pstmt.setString(5, stu.getmajor());
pstmt.setString(6, stu.getcourses());
pstmt.setString(7, stu.getinterests());
pstmt.setString(8, stu.getremark());
pstmt.setInt(9, stu.getId());
pstmt.executeUpdate();
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
//删除学生信息
public Boolean deleteStu(int id) {
try {
pstmt = conn.prepareStatement("delete from studentinfo where id=?");
pstmt.setInt(1, id);
pstmt.executeUpdate();
return true;
} catch (Exception e) {
e.getStackTrace();
return false;
}
}
}
2.InputStuInfoServlet,添加学生信息的Servlet
package com.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.model.stuInfo;
import com.service.stuInfoService;
public class inputStuInfoServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public inputStuInfoServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");//get到表单所有的控件的值
String nickname=request.getParameter("nickname");
String truename=request.getParameter("truename");
byte sex=Byte.parseByte(request.getParameter("sex"));
String birthday=request.getParameter("birthday");
String major=request.getParameter("major");
System.out.println(major);
//String course=request.getParameter("course");
String courses[]=request.getParameterValues("course");
String interests[]=request.getParameterValues("interest");
String remark=request.getParameter("remark");
//放到Javabean中暂时保存
stuInfo stu=new stuInfo();
stu.setNickname(nickname);
stu.setTruename(truename);
stu.setbirthday(birthday);
if(birthday.equals(""))
stu.setbirthday(null);
if(courses!=null)
stu.setcourse(courses);
if(interests!=null)
stu.setinterest(interests);
stu.setremark(remark);
stu.setmajor(major);
stu.setSex(sex);
if(new stuInfoService().addStu(stu))//插入学生数据的方法
response.sendRedirect("../inputStuInfo_success.jsp");
else
response.sendRedirect("../inputStuInfo.jsp");//插入数据库失败则返回初始输入页面
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
3.stuInfo,保存学生信息的Javabean
package com.model;
//Javabean相当于是一个中间件,用于类与类之间,各层之间的中转数据的一个中转站
public class stuInfo {
private int id;
private String nickname;
private String truename;
private byte sex;
private String birthday;
private String major;
private String[] course = { "" };
private String courses = "";
private String[] interest = { "" };
private String interests = "";
private String remark;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getTruename() {
return truename;
}
public void setTruename(String truename) {
this.truename = truename;
}
public byte getSex() {
return sex;
}
public void setSex(byte sex) {
this.sex = sex;
}
public String getbirthday() {
return birthday;
}
public void setbirthday(String birthday) {
this.birthday = birthday;
}
public String getmajor() {
return major;
}
public void setmajor(String major) {
this.major = major;
}
public String[] getcourse() {
return course;
}
public void setcourse(String[] course) {
this.course = course;
}
public String getcourses() {
if(course!=null)
{courses="";
for(int i=0;i<course.length;i++)
courses+=course[i]+"&";
}
courses=courses.substring(0,courses.length()-1);
return courses;
}
public void setcourses(String courses) {
this.courses = courses;
}
public String[] getinterest() {
return interest;
}
public void setinterest(String[] interest) {
this.interest = interest;
}
public String getinterests() {
if(interest!=null)
{interests="";
for(int i=0;i<interest.length;i++)
interests+=interest[i]+"&";
}
interests=interests.substring(0,interests.length()-1);
return interests;
}
public void setinterests(String interests) {
this.interests = interests;
}
public String getremark() {
return remark;
}
public void setremark(String remark) {
this.remark = remark;
}
}