一点代码都看不到,怎么能知道你为什么执行了两次呢,在所有的类里都设断点看执行过程不就知道从哪进入了两次dao了吗
看代码最有可能的是连续访问了两次action,而且第二次request里没有currentPage,所以页码一直是初始的int currentPage = 1;
还有if (currentPages != null && currentPages != "") 这判断是有问题的,字符串判断要写成!""equals(currentPages),不然你得不到想要的结果,也有可能会影响页码赋值
有两种方式:
(1)使用传统方式:
String hql="select uuserName, utelephone, uaddress, ggoodsName from Users u, Goods g where uuserId=guserId";
根据这个查询语句,调用querylist()方法得到一个List值,这个List中的每一个值都是Object[]类型的,里面包含了查询出来的所有值。
(2)增加一个映射类
增加一个映射类UsersVoGoodsjava,添加需要查询的信息相关的所有属性,本例中添加userName, telephone, address, goodsName。并为这几个属性添加setter和getter方法,增加构造函数,参数与这四个属性对应,那么可以用hql查询方式:
String hql = "select new comtestUsersVoGoods(uuserName, uteltphone, uaddress, ggoodsName) from Users u, Goods g where uuserId=guserId";
querylist()的返回值List中的值都是UsersVoGoods型的,直接使用get()就能获取。
以上就是关于SSH整合时,底层的baseDao分页查询方法会执行两次,搞得我当前页变回第一页,为什么会查询两次,怎么解决全部的内容,包括:SSH整合时,底层的baseDao分页查询方法会执行两次,搞得我当前页变回第一页,为什么会查询两次,怎么解决、怎么用SSH框架做一个账号的查询功能、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)