求大神解救啊

u010324685 2013-08-22 11:37:58
在struts(例如aAction) 用Myeclipse自动生成的DAO类(bDAO),
配置和注入没有问题。
1、但是在aAction中用bDAO类的findByXXX(属性就是数据库中列名)会报错,不过用bDAO里的findAll,save方法不会报错切得到正确的值。
例如:
public String execute() throws Exception {
// TODO Auto-generated method stub



String str=this.getBrandL();
List<Notebook> pList=this.getNotebookDAO().findSerices("ThinkPad");<会报错>
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("utf-8");
StringBuffer ddd=new StringBuffer();
for(Notebook no:pList){
ddd.append(no.getSeries());
ddd.append(",");
}
String arr=ddd.substring(0,ddd.length()-1);

response.getWriter().print(arr);
return null;
}

2、但是不在struts action类里,而新建一个主类测试(主类配置在spring中了DAO类当然也配置在spring中)不会出错。为了区别为试过两种方法都成功了{
<1>、不在spring中配置主类,用原始的spring调用方法调试例如:


ApplicationContext ctx=new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");
OtherTest con=ctx.getBean("otherTest", OtherTest.class);(原始调用)
接下来调用DAO类里各种方法都成功。
2、在spring中配置主类和DAO类。例如:
String str="ThinkPad";
List<Notebook> pList=this.getNotebookDAO().findByTrademark(str);
(spring配置和注入了主类和DAO类)
接下来调用DAO类里各种方法成功。
3、我尝试在DAO类(自动生成的用HibernateTemplate接口)自己写入HibernateCallBack用来实现各种findByXXX(属性,也就是列名),然后在上面的各种环境下使用均获得成功。
例如:
public boolean isExist(final String account) {//判断用户是否存在
List list = (List) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
List result = session.createCriteria(Consumer.class).add(Restrictions.eq("account", account)).list();
return result;
}
});
if(list.size()>0) {
return true;
} else {
return false;
}
}(这些系统没有自动生成)
我现在就是不明白为什么在各种情况下为什么结果不同;既然都是系统自动生成的为什么在struts action下有区别(是我配置有问题还是为什么)。既然系统都生成了DAO类而且在其他类里都可以使用为什么不能在struts2 里也用到findByXXX各种方法(我实在是不想再自己写入其他代码,自动生成的代码应该可以用,只是我还没有实现)。
...全文
138 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010324685 2013-08-22
  • 打赏
  • 举报
回复
u010324685 2013-08-22
  • 打赏
  • 举报
回复
大神到底在哪里啊?
u010324685 2013-08-22
  • 打赏
  • 举报
回复
那为什么不在aciton类里调用不会出错呢。
oh_Maxy 2013-08-22
  • 打赏
  • 举报
回复
findByXXX 方法具体操作了哪些东西?会不会是又使用了其它DAO里的属性,而这个属性又没有注入导致的?
u010324685 2013-08-22
  • 打赏
  • 举报
回复
额?搞点有用的可以不?
tony4geek 2013-08-22
  • 打赏
  • 举报
回复

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧