需求解释的方法体:
public Users login(Users user){
List<Users> list =dao.findByExample(user);
if(list==null||list.size()==0){
return null;
}
return list.get(0);
}
---------------------------------我是可爱的分割线------------------------------ UsersServiceimpl 全部代码:package service.impl;import java.util.List;import service.UserService;import dao.UsersDAO;
import entity.Users;public class UserServiceImpl implements UserService {
UsersDAO dao;



public UsersDAO getDao() {
return dao;
} public void setDao(UsersDAO dao) {
this.dao = dao;
} public Users login(Users user){
List<Users> list =dao.findByExample(user);
if(list==null||list.size()==0){
return null;
}
return list.get(0);
}}

解决方案 »

  1.   

    3层架构啊。action,service,dao,service层调用dao层方法,在dao是与数据库交互的
    List<Users> list =dao.findByExample(user);
    估计是这个dao实例的findByExample(User user)方法返回的个list,然后判断list为null或为空时,说明用户不存在,因为用户唯一,所以只需要list.get(0)就行,取得List集合中的第一个元素,其实也就只有1个user元素。你不能光看serviceImpl,也看看daoImpl啊。至于service为什么不直接与数据交互,是因为1个serviceImpl中1个方法里可以调用daoImpl中的几个方法,作为一个事物,当然能减少最好还是减少,毕竟能1次查询,别分2次,数据库的交互很吃I/O流的