j2ee 小女子不才,选用ssh框架做毕业设计,遇到问题颇多,望有贤之士help me,急呀,快要答辩了! 1.怎么从数据库里只取出一条数据呀,我用了sql语句为 String hql="from Wz where wtype='班级活动' and 1=1 order by wid DESC limit 0,1",在数据库中用queries测试的时候只有一条数据,但用hibernate查询显示于jsp页面,却是出现多条数据,这是为何?
具体来说你只要把Java那些与数据库表相对应的类是否一一对应 理论上来说hql语句只能支持框架 你在数据库里查是刚好数据库工具能识别它 因为处理语句的方式不同,查询出来的数据肯定一个是只有一个,另外一个有多个 from Wz where wtype='班级活动' and 1=1 order by wid DESC limit 0,1 试着增加一些查询限制条件,这个语句非常可能查出多条数据,我也是用Hibernate [解决办法] String hql="from Wz where wtype='班级活动' and 1=1 order by wid DESC limit 0,1" 这个应该是你数据库有多个数据吧!但是为什么是多条记录呢? 首先你使用这个语句去看到的是一条记录原因是:limit 0,1只取了一条 但是hibernate有自己的分页的方法,工作中不知道样写这个语句是否能生效(hibernate)。你可以试试去掉limit 0,1。然后用hibernate的分页方法。 还有这里的 and 1=1是不是没多大实际意义吧。也可以不要了! [解决办法] 如果你选用了SSH框架,那么hibernate是面向对象的。不用你自己去写sql语句的。每个javaBean对应你数据库中的一张表(不严格的说)。你操作这个Bean的属性就是操作表中的字段。 [解决办法] 第一个问题我也遇到过,不过解决了,hibernate的hql语句没有limit关键字,它使用以下代替limit,效果一样。 Query query = session.createQuery(hql); query.setFirstResult(pageroffset); query.setMaxResults(e); [解决办法] hibernate 是对象查询,也就是说你查到的数据是一个对象(一个大集合),你可以用条件语句去筛选,还有你上传图片你可以把图片变bolob格式存到数据库里面去,然后下载的时候把这个编译回来再输出! [解决办法] 是的,Hibernate是这样 [解决办法]
你也可以吧upload.jsp中的逻辑也写到action中,然后先进行保存wzService.addWz(getWz())操作,在进行上传; 还有一个笨方法,也可以点击上传后执行下一个ajax访问action,保存成功后,在submit,进行上传 [解决办法] Unable to instantiate Action, action.Cxzd, defined for 'Cxzd' in namespace ''Type bean.Cx not present是说无法出来Cx,它不是当前的,是要配置它以取代原来的