Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用play 2和java在控制器中输入SQL指令_Java_Sql_Playframework_Playframework 2.1 - Fatal编程技术网

如何使用play 2和java在控制器中输入SQL指令

如何使用play 2和java在控制器中输入SQL指令,java,sql,playframework,playframework-2.1,Java,Sql,Playframework,Playframework 2.1,我正在用Java开发一个web应用程序,并用Java编程,我需要访问数据库中已经保存的数据来修改它们 我尝试在没有new操作符的情况下创建一个新实例,并将其引用到数据库中保存的对象,但即使没有指针错误,也不会更改属性值。我不知道为什么,所以我决定直接输入SQL查询 同样的事情,它似乎没有任何错误,但它不会改变任何事情。。。我认为这是因为与数据库的链接不正确: 这是我在application.java中的代码: public static Result modifyQuestionnaire(Lo

我正在用Java开发一个web应用程序,并用Java编程,我需要访问数据库中已经保存的数据来修改它们

我尝试在没有
new
操作符的情况下创建一个新实例,并将其引用到数据库中保存的对象,但即使没有指针错误,也不会更改属性值。我不知道为什么,所以我决定直接输入SQL查询

同样的事情,它似乎没有任何错误,但它不会改变任何事情。。。我认为这是因为与数据库的链接不正确:

这是我在
application.java
中的代码:

public static Result modifyQuestionnaire(Long id) throws SQLException {
    Statement stmt = null;
    Connection con = DB.getConnection();

    try {
        stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
        String query = "SELECT * FROM WOQ.questionnaire WHERE id=id";
        ResultSet uprs = stmt.executeQuery(query);
        uprs.updateString("name", "baba");
        uprs.updateRow();
    } catch(Exception e) {
        e.printStackTrace();
    } finally {
        if (stmt!=null) {
            stmt.close();
        }
    }
return redirect(routes.Application.questionnaire(id));
}
我还尝试直接输入一个
更新
查询,仍然是一样的

我找遍了所有地方,没有找到任何解决方案(除了Anorm,但它似乎与Scala语言一起工作)


顺便说一句,如果有人知道一个解决方案的第二个实例引用了同一个对象(这似乎是可能的,但正如我所说,没有错误,但也没有操作),这对我来说很好。

嗯,你表明你正在尝试创建一个全新的连接,所以我想,你不想使用Ebean,但是,如果您已经在使用它,您可以使用它的方法执行任务:

()Ebean的API中有一些选项,因此您应该检查并选择一个:

  • -在示例中签入
    @NamedUpdates
    注释
  • -您只需执行原始SQL更新,无需提供实体类型

你没有考虑使用递送<代码> eBe</代码> ORM吗?它有用于选择和更新DB的rowsHello的原始查询的方法,我正在使用ebean来创建我的表(以inventory.java为例),但我不知道使用ebean ORM是什么意思。。你能告诉我吗?你知道创建一个属性为其他对象列表的对象的最佳方法吗,以便通过SQL请求访问该列表?因为使用oneToMany,我在任何地方都看不到我的列表,所以我不能对它执行任何sql请求…这个关系不是为关系创建了联接表吗?(我现在不记得了)在这种情况下,您可以使用公共SQL连接收集数据。