java中FOR LOOP中局部变量的范围

时间:2017-01-11 09:01:51

标签: java hibernate spring-mvc

我正在编写一个java代码,用hibernate和Spring MVC作为Rest API从数据库中提取数据。我创建了配置映射等.stdout显示了数据库的正确输出,但是我必须把它作为一个JSON object。我写了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无法解析为变量。 任何答案都会有所帮助。

2 个答案:

答案 0 :(得分:1)

由于您使用spring-mvc对其进行了标记,因此直接从控制器连接到数据库通常是一种不好的做法。您应该有一个从控制器调用的服务方法,该方法与您的dao或repo类进行通信。

答案 1 :(得分:0)

这可能会有所帮助

<?php
print_r(array_column($arr, 7));
print_r(array_column($arr, 51));
?>