在实践项目中我们有可能需要做到新增功能,新增一张表,或是新增多张表。这里我新增的是一张表。
这里主要描述DAO层与Servlet 层:
DAO 层:
public class UserDaoImpl implements UserDao {
private Connection con = null;
private PreparedStatement ps = null;
private ResultSet rs= null;
private String insert="INSERT INTO um_usm_athentication
(Athenticationname,Credit,Apply,Remarks,Identificationname,Vsalidityperiod,ExamineStateID) VALUES(?,?,?,?,?,?,?)";
@Override
public boolean insert(Userautonym t) {
boolean returnA = false;
try {
con= DbUtil.getConnection();
ps = con.prepareStatement(insert);
ps.setString(1, t.getAthenticationname());
ps.setString(2, t.getCredit());
ps.setString(3, t.getApply());
ps.setString(4, t.getRemarks());
ps.setString(5, t.getIdentificationname());
ps.setString(6, t.getVsalidityperiod());
ps.setInt(7, t.getExamineStateID());
if (ps.executeUpdate() > 0) {
returnA = true;
System.out.println("Apply");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{ //关闭流
DbUtil.close(con, ps, rs);
}
return returnA;
}
}
Servlet层:
public void insertprove(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String Athenticationname = request.getParameter("Athenticationname");
String Credit = request.getParameter("Credit");
//获取当前系统时间
Timestamp date=new Timestamp(System.currentTimeMillis());
//定义格式,没有显示毫秒
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//将当前系统时间转换为不显示毫秒情况,保存为String类型在dateNow中
String dateNow= df.format(date);
//可以控制台输出dateNow的值
System.out.println("系统时间:"+dateNow);
String Apply =dateNow;
String Remarks = request.getParameter("Remarks");
String Identificationname = request.getParameter("Identificationname");
String Vsalidityperiod = request.getParameter("Vsalidityperiod");
int ExamineStateID = Integer.parseInt(request.getParameter("ExamineStateID"));
Userautonym userautonym = new Userautonym();
userautonym.setAthenticationname(Athenticationname);
userautonym.setCredit(Credit);
userautonym.setApply(Apply);
userautonym.setRemarks(Remarks);
userautonym.setIdentificationname(Identificationname);
userautonym.setVsalidityperiod(Vsalidityperiod);
userautonym.setExamineStateID(ExamineStateID);
IUserService userService = new UserServiceImpl();
boolean success = userService.insert(userautonym);
if (success) {
request.getSession().setAttribute("strMsg", "新增成功");
} else {
request.getSession().setAttribute("strMsg", "新增失败");
}
response.sendRedirect("LoginServlet?fun=provessss");
}
在页面层用post 提交表单的方法就可以进行传值了。
如:
<form action="${ctx}/servlet/LoginServlet" method="post">
<input type="hidden" name="fun" value="insertprove"/>
填写所需字段的name 值
记得在点击新增按钮加上type="submit"
</form>