第一步建立util包写我们的帮助类,用来连接数据库
第二部建立entity包写我们的实体类,用来构造函数
第三部建立dao包写我们的方法类,用来写方法,实现功能
以下是我建的包和类:
当我们写完功能之后,就可以去jsp代码中去调用,就不需要重复写代码,可以简便代码,也可以减少代码的错误率
我们可以看一下对比
没封装前的代码:
<%
request.setCharacterEncoding("utf-8");
//接收添加页面的编号
//新闻主题编号
int tid=Integer.valueOf(request.getParameter("ntid"));
//新闻标题
String ntitle=request.getParameter("ntitle");
//新闻作者
String nzz=request.getParameter("nauthor");
//新闻内容
String nnr=request.getParameter("ncontent");
//新闻摘要
String nzy=request.getParameter("nsummary");
String url = "jdbc:oracle:thin:@localhost:1521:T277";
Class.forName("oracle.jdbc.OracleDriver");
Connection con=DriverManager.getConnection(url, "scott", "tiger");
//获取新闻下一个编号
PreparedStatement ps=con.prepareStatement("select max(nid) from news");
int nextNid=1;
ResultSet rs=ps.executeQuery();
if(rs.next()){
nextNid=rs.getInt(1)+1;
}
//添加新闻
ps=con.prepareStatement("insert into news values(?,?,?,?,?,sysdate,0,?)");
ps.setInt(1,nextNid);
ps.setInt(2, tid);
ps.setString(3, ntitle);
ps.setString(4, nzz);
ps.setString(5, nnr);
ps.setString(6, nzy);
//执行sql语句
int i=ps.executeUpdate();
if(i>0){
out.print("<script>alert('添加成功');location.href='../admin.jsp'</script>");
}else{
out.print("<script>alert('添加失败');location.href='add_news.jsp'</script>");
}
%>
封装之后的代码:
<%
//接收添加页面的编号
//新闻主题编号
int tid=Integer.valueOf(request.getParameter("id"));
System.out.println("tid="+tid);
//新闻标题
String ntile=request.getParameter("ntile");
//新闻作者
String nzz=request.getParameter("nauthor");
//新闻内容
String nnr=request.getParameter("ncontent");
//新闻摘要
String nzy=request.getParameter("nsummary");
NewsDao nd=new NewsDao();
News news=new News(tid,ntile,nzz,nnr,nzy,nimage);
int i=nd.addNews(news);
if(i>0){
out.print("<script>alert('添加成功');location.href='../admin.jsp'</script>");
}else{
out.print("<script>alert('添加失败');location.href='add_news.jsp'</script>");
}
%>
封装之后我们只需要调用方法就行,可以省略很多重复的步骤,大家快学起来吧