java的html的查询,与MySQL结合,这是一个系列,第一篇:链接: https://blog.csdn.net/cmm27/article/details/107020593.第二篇:链接: https://blog.csdn.net/cmm27/article/details/107038234.
添加UserDao的代码
package com.cc0629.dao; import com.cc0629.model.User; import com.cc0629.util.DBUtil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserDao { public int add(User user) { Connection connection = null; PreparedStatement pstmt = null; int count = 0; try{ connection = DBUtil.getConnection(); //获得执行sql的Statement对象 pstmt = (PreparedStatement) connection.prepareStatement("insert into user (name,password,age) values (?,?,?)"); pstmt.setString(1,user.getName()); pstmt.setString(2,user.getPassword()); pstmt.setString(3,user.getAge()); //执行sql,获得结果 count = pstmt.executeUpdate(); System.out.println("insert操作:" + count); return count; }catch (Exception e){ e.printStackTrace(); }finally { try { DBUtil.closeAll(null,pstmt,connection); //由于没有结果集所以第一项为空 } catch (SQLException e) { e.printStackTrace(); } } return count; } public int del(User user){ //注销功能 Connection connection = null; PreparedStatement pstmt = null; int count = 0; try{ connection = DBUtil.getConnection(); //获得执行sql的Statement对象 pstmt = connection.prepareStatement("delete from user where name=? and password=? and age = ?"); pstmt.setString(1,user.getName()); pstmt.setString(2,user.getPassword()); pstmt.setString(3,user.getAge()); //执行sql,获得结果 count = pstmt.executeUpdate(); System.out.println("delete操作:"+count); return count; }catch (Exception e){ e.printStackTrace(); }finally { try { DBUtil.closeAll(null,pstmt,connection); //由于没有结果集所以第一项为空 } catch (SQLException throwables) { throwables.printStackTrace(); } } return count; } public User selectByName(String name){ ResultSet rs = null; Connection connection = null; PreparedStatement pstmt = null; DBUtil util = new DBUtil(); User user = new User(); try { connection = util.getConnection(); pstmt = connection.prepareStatement("select * from user where name = ?"); pstmt.setString(1,name); rs = pstmt.executeQuery(); //处理结果集 while (rs.next()){ user.setId(rs.getInt(1)); user.setName(rs.getString(2)); user.setPassword(rs.getString(3)); user.setAge(rs.getString(4)); } }catch (Exception e){ e.printStackTrace(); }finally { try { util.closeAll(rs,pstmt,connection); }catch (SQLException e){ e.printStackTrace(); } } return user; } }添加UserService的代码
package com.cc0629.service; import com.cc0629.dao.UserDao; import com.cc0629.model.User; import java.sql.SQLException; public class UserService { UserDao userDao = new UserDao(); public int add(User user){ System.out.println("service中add方法被调用"); return userDao.add(user); } public int del(User user){ System.out.println("service中del方法被调用"); return userDao.del(user); } public User selectByName(String name){ return userDao.selectByName(name); } }添加AddServlet的代码
package com.cc0629.servlet; import com.cc0629.model.User; import com.cc0629.service.UserService; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.SQLException; public class AddServlet extends HttpServlet { UserService userService = new UserService(); protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("执行了doPost"); String method = req.getParameter("method"); if (method.equals("save")){ insert(req,resp); }else if (method.equals("delete")){ delete(req,resp); }else if (method.equals("search")){ search(req,resp); } } public void insert(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ User user = new User(); String name = req.getParameter("name"); String password = req.getParameter("password"); String age = req.getParameter("age"); user.setName(name); user.setPassword(password); user.setAge(age); System.out.println(user); int count = userService.add(user); if (count>0){ resp.sendRedirect("/index.jsp"); }else { resp.getWriter().write("<h2>failed</h2>"); } } public void delete(HttpServletRequest req,HttpServletResponse resp) throws ServletException, IOException { User user = new User(); String name = req.getParameter("name"); String password = req.getParameter("password"); String age = req.getParameter("age"); user.setName(name); user.setPassword(password); user.setAge(age); System.out.println(user); int count = userService.del(user); if(count>0){ resp.sendRedirect("/index.jsp"); }else { resp.getWriter().write("<h2>failed</h2>"); } } public void search(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/html;charset=GBK"); resp.setContentType("text/html"); String name = req.getParameter("name"); User user1 = userService.selectByName(name); if (user1!=null){ resp.getWriter().write("<h1>用户名:"+user1.getName()+"</h1><h1>密码:"+user1.getPassword()+"</h1><h1>年龄:"+user1.getAge()+"</h1>"); }else { resp.getWriter().write("失败!"); } } }添加index.jsp的代码
<%-- Created by IntelliJ IDEA. User: 18235 Date: 2020/6/29 Time: 10:02 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> <h1>登录</h1> <form action="/login" method="post"> name:<input name="name" type="text"> password:<input name="password" type="password"> <input type="submit" value="login"> </form> <a href="add.jsp">注册</a> <a href="delete.jsp">注销</a> <a href="search.jsp">查找</a> </body> </html>web下新建search.jsp
<%-- Created by IntelliJ IDEA. User: 18235 Date: 2020/7/1 Time: 8:57 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>查找</title> </head> <body> <h1>查找</h1> <form action="/add?method=search" method="post"> name:<input name="name" type="text"> <input type="submit" value="查找"> </form> </body> </html>