注意:数据的查询操作是通过调用封装在UserServiceImpl类中的login方法来实现的,而其中的login方法是根据封装在UserDaoImpl类中的findUserByUsernameAndPassword方法来实现的。
login:
//验证登录信息
@Override
public User login(User user) {
return dao.findUserByUsernameAndPassword(user.getUsername(), user.getPassword());
}
findUserByUsernameAndPassword:
//根据用户名和密码查询User对象
@Override
public User findUserByUsernameAndPassword(String username, String password) {
try {
String sql = "select * from user where username = ? and password = ?";
User user = template.queryForObject(sql, new BeanPropertyRowMapper<>(User.class), username, password);
return user;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
实现效果:
2. 分页查询、模糊查询
**设计思路:**创建一个分页的实体类对象 PageBean,主页跳转到 FindUserByPageServlet 中进行查询。
PageBean属性:
//总记录数
private int totalCount;
//总页码
private int totalPage;
//每页的数据
private List<T> list;
//当前页码
private int currentPage;
//每页显示的记录数
private int rows;
FindUserByPageServlet:
//查询
@WebServlet(“/findUserByPageServlet”)
public class FindUserByPageServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {