开发工具与关键技术: MyEclipse Java
撰写时间:2020、12、10
新增,在开发中也是经常需要写的一个方法,我们知道多表新增比单表要难,但数据库表多不一定新增复杂,而表多关系复杂那新增就复杂,所以新增方法的难易程度取决于数据库表关系的复杂度,单表新增是新增的基础。
Java的新增其实跟其他语言的新增方法差不多,只是Java是封装思想,所以要将方法封装起来,只对外提供接口调用就可以了,我们说一下简单的单表新增。
首先准备一张数据库表,如下图所示,
jsp页面就说了,然后写daoimpl层的方法,daoimpl层是将servlet层传递过来的信息跟数据库对接,也是封装起来的方法,
方法代码如下
//插入一条
public void insert(User user) {
Connection conn=DbUtils.getConnection();
String sql=“insert into s_book (name,author,publisher,price,lingshou) value(?,?,?,?,?);”;
PreparedStatement st=null;
ResultSet rs=null;
try {
st=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
st.setString(1,user.getName());
st.setString(2,user.getAuthor());
st.setString(3,user.getPublisher());
st.setInt(4,user.getPrice());
st.setInt(5,user.getLingshou());
int num=st.executeUpdate();rs=st.getGeneratedKeys();while(num>0&&www.mareenoire.info()) {System.out.println("插入成功,id="+rs.getInt(1));}} catch (SQLException e) {e.printStackTrace();}DbUtils.close(conn, st, rs);
}
daoimpl层的封装方法完成就是对外提供接口也就是dao层,dao层只是一个调用的接口,代码如下
//插入一条
public void insert(User user);
Dao 层方法完成就是servlet层了,servlet层主要是获取jsp页面所传递过来的新增信息通过dao层接口调用daoimpl层方法传入数据库,代码如下
private void bookadd(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{String name=request.getParameter("name");String author=request.getParameter("author");String publisher=request.getParameter("publisher");String price=request.getParameter("price");String lingshou=request.getParameter("lingshou");UserDao ud=new UserDaoImpl();if(name!=null&&author!=null&&publisher!=null) {User user=new User();user.setName(name);user.setAuthor(author);user.setPublisher(publisher);user.setPrice(Integer.parseInt(price));user.setLingshou(Integer.parseInt(lingshou));ud.insert(user);request.getRequestDispatcher("UserListServlet?mthname=list").forward(request, response);}else {response.getWriter().write("add erro");}
}
三个方法完成简单的新增方法就完成了,下面测试一下,输入需要新增的信息,如下图所示:
然后提交,新增成功后返回成功id,这里用了log4j日志打印,所以新增的信息也打印了出来,如下图所示:
最后,一个简单的Java新增方法就完成了。