之前学习了用代码实现数据库的增删改查,这次则来将之前分成部分的代码DAO化
import com.zr.bean.User; import com.zr.util.DBUtil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class UserDao { public User findUserByUserNameAndPassword(String username,String password){ Connection connection= null; PreparedStatement statement=null; ResultSet resultSet =null; User user=null; try { connection = DBUtil.getConnection(); //3.写sql语句 String sql="select * from tb_user where username=? and password=?"; //4.获得statement对象 statement=connection.prepareStatement(sql); statement.setString(1,username); statement.setString(2,password); //5.执行sql 得到结果集 resultSet = statement.executeQuery(); //6.处理结果集 while (resultSet.next()){ user=new User(); user.setId(resultSet.getInt(1)); user.setUsername(resultSet.getString(2)); user.setPassword(resultSet.getString(3)); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException throwables) { throwables.printStackTrace(); }finally { //7.关闭资源 try { DBUtil.closeAll(resultSet,statement,connection); } catch (SQLException throwables) { throwables.printStackTrace(); } } return user; } public void deleteById(int id){ Connection connection= null; PreparedStatement statement=null; try { connection = DBUtil.getConnection(); System.out.println("创建连接成功"); //3.写sql语句 String sql="delete from tb_user where id=?"; //4.获得statement对象 statement=connection.prepareStatement(sql); statement.setInt(1,id); //5.执行sql 得到结果集 statement.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException throwables) { throwables.printStackTrace(); }finally { try { DBUtil.closeAll(null,statement,connection); } catch (SQLException throwables) { throwables.printStackTrace(); } } } public void add(User user){ Connection connection= null; PreparedStatement statement=null; try { connection = DBUtil.getConnection(); System.out.println("创建连接成功"); //3.写sql语句 String sql="INSERT INTO tb_user (username,PASSWORD) VALUES (?,?)"; //4.获得statement对象 statement=connection.prepareStatement(sql); statement.setString(1,user.getUsername()); statement.setString(2,user.getPassword()); statement.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException throwables) { throwables.printStackTrace(); }finally { try { DBUtil.closeAll(null,statement,connection); } catch (SQLException throwables) { throwables.printStackTrace(); } } } public void update(User user){ Connection connection= null; PreparedStatement statement=null; try { connection = DBUtil.getConnection(); System.out.println("创建连接成功"); //3.写sql语句 String sql="UPDATE tb_user SET username=?,PASSWORD=? WHERE id=?"; //4.获得statement对象 statement=connection.prepareStatement(sql); statement.setString(1,user.getUsername()); statement.setString(2,user.getPassword()); statement.setInt(3,user.getId()); //5.执行sql 得到结果集 statement.executeUpdate(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException throwables) { throwables.printStackTrace(); }finally { try { DBUtil.closeAll(null,statement,connection); } catch (SQLException throwables) { throwables.printStackTrace(); } } } }
loginservlet:
import com.zr.service.UserService; import com.zr.service.impl.UserServiceImpl; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class LoginServlet extends HttpServlet { UserService userService=new UserServiceImpl(); @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username=req.getParameter("username"); String password=req.getParameter("password"); if(userService.login(username,password)){ resp.getWriter().write("success"); }else { resp.getWriter().write("failure"); } } }
service:
import com.zr.bean.User; import com.zr.dao.UserDao; import com.zr.service.UserService; public class UserServiceImpl implements UserService { UserDao userDao=new UserDao(); @Override public boolean login(String username, String password) { User user = userDao.findUserByUserNameAndPassword(username, password); if(user==null){ return false; }else { return true; } } }