java - 与现有数据库(模型)一起使用

标签 java playframework

我可以使用链接到现有数据库(示例 SAP DBB)的 Play Framework 来仅显示:

Dashboards (Queries)
Charts (Queries)

我开发了一个身份验证页面,突然间,我没有考虑如何在不声明模型的情况下从现有数据库中提取数据!

仅提取大量查询数据并将其显示在 View scala(Play 框架 JAVA)上的好方法是什么?

非常感谢

最佳答案

我们还有许多现有数据库,但没有 Play 应用程序中每个表的完整模型。我在 Play 应用程序中为所有必需字段(也是所有列的子集)创建一个案例类。这是 Scala 代码,当然也可以使用 Java。

  case class Positionstext(akt_abnr: Int
                   , akt_text_art: Int
                   , akt_text_pos: Int
                   , akt_text: String) {

}

精心组装的 SQL 命令从一个或多个表中检索行。

  def positionstexte(x: Int) : List[Positionstext] = {

    DB.withConnection{ connection =>

    val select =
      """ select plr_ak_texte.akt_abnr
               , plr_ak_texte.akt_text_art
               , plr_ak_texte.akt_text_pos
               , plr_ak_texte.akt_text
            from plrv11.plr_ak_texte
               , plrv11.plr_auftr_status
           where plr_ak_texte.akt_abnr     =  plr_auftr_status.as_abnr
             and plr_ak_texte.akt_aend_ix  =  plr_auftr_status.as_aend_ix
             and plr_ak_texte.akt_abnr     =  ?
             and plr_ak_texte.akt_text_art =  7
             and plr_auftr_status.as_aend_ix <> 99
       """

    val prepareStatement = connection.prepareStatement(select)

    prepareStatement.setInt(1, x)

    val rs = prepareStatement.executeQuery

    var list: ListBuffer[Positionstext] = scala.collection.mutable.ListBuffer()

    while (rs.next) {
      list += new Positionstext(rs.getInt("akt_abnr")
                            , rs.getInt("akt_text_art")
                            , rs.getInt("akt_text_pos")
                            , rs.getString("akt_text"))
    }
    rs.close()
    prepareStatement.close()
    list.toList
  }

就是这样! SQL 命令已经通过使用子查询、连接等完成了大部分工作。

所有需要的对象现在都在列表中,并且可以显示在 View 中。

关于java - 与现有数据库(模型)一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61579968/

相关文章:

playframework - Activator 1.3.6 覆盖 build.sbt

java - 如何访问LogoutSuccessHandler中的 session 属性?

java - 设置服务器时区以从日期中添加/减去时间

java - 你可以在 Java play 框架中使用多线程吗?

java - Play Framework - 表单的多个实例

java - Sublime Text 2 Play IDE 1.2.5

java - 检索作业和/或进程

java - Java麦克风TargetDataLine灵敏度/最大输入振幅

java - 打开电子邮件客户端,并将 JFreeChart 的图表(图像)粘贴到正文中

java - 关于 spring mvc 错误 no class def found