【问题标题】:Confgure Speedment without UI?在没有 UI 的情况下配置 Speedment?
【发布时间】:2023-03-08 17:20:01
【问题描述】:

我刚刚发现Speedment,一个基于 Java 8 Stream 的 OR/M 库,不得不说我喜欢它的想法。不再需要疯狂的配置或花时间筛选 900 页的 Hibernation 文档来找到注释我的类的正确方法:Speedment 只需读取您的数据库,为您生成 Java 类,并为您提供基于流的 API 来针对它们运行 DDL 语句。太酷了。

然而,一个重要的问题是,似乎必须使用 Speedment UI 来配置您的数据库连接。此外,文档似乎没有指定如何执行以下操作:

  • 指定您希望针对哪些表生成代码(也许数据库中有一些您希望为其生成模型的表
  • 执行存储过程
  • 配置内存缓存

等等。在 GitHub 上,我似乎无法找到代码是如何从 UI 连接在一起以生成配置对象的。只是想知道是否有办法配置 Speedment sans UI(可能通过 JSON 或 YAML),如果有,有哪些配置可用。

【问题讨论】:

    标签: orm java-8 java-stream speedment


    【解决方案1】:

    可以在没有 UI 的情况下配置 Speedment,但需要进行一些修改。基本上,要从数据库生成代码,您需要手动创建一个 speedment.json-文件并指定要手动生成的架构。

    1. 创建一个新的 Maven 项目(一个pom.xml-文件和一个src/main/java-目录)。
    2. 创建文件/src/main/json/speedment.json
    3. 输入以下内容:
    {
      "config" : {
        "name" : "yourproject",
        "packageName" : "com.yourcompany",
        "packageLocation" : "src/main/java/",
        "dbmses" : [{
          "name"      : "db0",
          "typeName"  : "MySQL",
          "ipAddress" : "127.0.0.1",
          "port"      : 3306,
          "schemas" : [{
            "name" : "your_db_schema"
          }]
        }]
      }
    }
    
    1. 运行 Maven 目标:mvn speedment:reload -Ddbms.username=root -Dbms.password=password(使用您的数据库的凭据)

    2. 最后,运行 Maven 目标:mvn speedment:generate

    第一个目标连接到数据库并在 .json 文件中填写任何缺少的配置详细信息。第二个目标生成 .java 代码。

    要禁用特定表,请将 json 属性“启用”设置为 false。您也可以通过这种方式禁用单个列。

    如果需要,现在可以直接在 .json 文件中配置生成,然后重新生成。

    【讨论】:

      猜你喜欢
      • 2017-12-02
      • 2011-09-13
      • 2019-10-31
      • 1970-01-01
      • 2023-03-06
      • 2014-01-20
      • 2018-07-18
      • 2020-03-03
      • 2014-02-18
      相关资源
      最近更新 更多