我正在编写一个java代码,使用hibernate和Spring MVC作为Rest API从数据库中提取数据。我已经创建了配置映射等。标准输出显示了数据库的正确输出,但我必须将其作为 JSON
对象获取。我编写了 DAO 类。我的代码如下:
@RequestMapping(value="{userid}", method = RequestMethod.GET)
public @ResponseBody IterationInfo getIterationInfoInJSON(@PathVariable int userid)
{
Configuration con = new Configuration();
con.configure("hibernate.cfg.xml");
SessionFactory SF = con.buildSessionFactory();
Session session= SF.openSession();
Transaction TR = session.beginTransaction();
Query query=session.createQuery("from IterationInfo");
List<IterationInfo> list=query.list();
for(IterationInfo iterationinfo1 : list)
{
System.out.println("Iteration id"+iterationinfo1.getIterationid());
System.out.println(iterationinfo1.getIterationname());
System.out.println(iterationinfo1.getProjectid());
System.out.println(iterationinfo1.getIterationenddate());
System.out.println(iterationinfo1.getIterationstartdate());
iterationinfo1.setIterationid(iterationinfo1.getIterationid());
iterationinfo1.setIterationname(iterationinfo1.getIterationname());
iterationinfo1.setProjectid(iterationinfo1.getProjectid());
iterationinfo1.setIterationenddate(iterationinfo1.getIterationenddate());
iterationinfo1.setIterationstartdate(iterationinfo1.getIterationstartdate());
}
TR.commit();
session.close();
SF.close();
return iterationinfo1;
}
错误是iterationinfo1
无法解析为变量。
任何答案都会有帮助。
最佳答案
由于您已使用 spring-mvc 对其进行了标记,因此直接从 Controller 连接到数据库通常是一种不好的做法。您应该有一个从 Controller 调用的服务方法,并且该方法与您的 dao 或 repo 类进行通信。
关于java - java中FOR LOOP中局部变量的作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41586560/