慕粉0735379657
2016-12-26 21:13
我用的是MYeclipse 为什么用junit4单元测试,可以正常执行usersAction去调用UsersDaoImpl代码块,但是用struts.xml来调用UsersAction去执行UsersDaoImpl,总是报异常,通过测试发现 用struts.xml来调用UsersAction去执行UsersDaoImpl代码块时 try....catch....里面的语句不执行,但是但用单元测试工具junit4去执行UsersAction代码去调用UsersDaoImpl代码块时,可以正常运行try...catch....里面的代码!有输出不解其中原因
附上代码,求大神指点
public boolean userLogin(User u) {
System.out.println(u);//测试值传过来没有
//创建一个事物对象
Session session = HibernateSessionFactory.getSession();
//注意:getTransaction和beginTransaction的区别
Transaction tx = session.getTransaction();
try{
tx.begin();
//此处不能省略
String hql = "from User where username=? and userpassword=?";
Query query = session.createQuery(hql);
//设置用户名和密码0代表where后面的第一个参数,1代表where第二个参数
query.setParameter(0, u.getUsername());
query.setParameter(1, u.getUserpassword());
List<User> list = query.list();
//提交事物(只有在增删改的时候才需要事物)
tx.commit();
// session.close();
//判断是否查询到了用户
//注意:方法的返回值默认以try里面的为准,之所以还要再加一个return返回值,是为了语法不出错而已,返回结果没有实际意义
if(list!=null){
System.out.println("AAAAAAAAAAAAAA");
return true;
}else{
return false;
}
}catch(Exception ex){
ex.printStackTrace();
tx.commit();
}finally{
if(tx != null){
tx=null;
}
}
return false;
}
}
使用Struts2+Hibernate开发学生信息管理功能
80701 学习 · 754 问题
相似问题
回答 3