首页 > 代码库 > 报错: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

报错: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

描述:使用Hibernate登陆验证时故意输入没有的用户名,所产生的错误。

错误代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
     * 根据客户的用户名查找客户信息
     */
    @Override
    public User getUserByUserName(String userName) {
        String hql="from User where userName=?";
        Session session=HibernateUtil.getSession();
        Transaction tx=session.beginTransaction();
        Query query=session.createQuery(hql);
        query.setString(0,userName);
        List<User> user=query.list();
        tx.commit();
        return user.get(0);
    }

  

 1 /* 
 2      * 根据客户的用户名查找客户信息
 3      */
 4     @Override
 5     public User getUserByUserName(String userName) {
 6         String hql="from User where userName=?";
 7         Session session=HibernateUtil.getSession();
 8         Transaction tx=session.beginTransaction();
 9         Query query=session.createQuery(hql);
10         query.setString(0,userName);
11         List<User> user=query.list();
12         tx.commit();
13                 //===区别===
14         if(user.size()==0)
15             return null;
16         return user.get(0);
17     }
View Code