在没有用户界面的情况下设置速度?

时间:2017-02-12 01:41:37

标签: orm java-8 java-stream speedment

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

然而,最重要的一个障碍是似乎就像 使用Speedment UI来配置数据库连接一样。此外,文档似乎没有具体说明如何执行以下操作:

  • 指定您希望代码生成哪些表(可能在数据库中有一些表 想要为
  • 生成的模型
  • 执行存储过程
  • 配置内存缓存

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

1 个答案:

答案 0 :(得分:1)

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

  1. 创建一个新的Maven项目(pom.xml - 文件和src/main/java - 目录。)
  2. 创建文件/src/main/json/speedment.json
  3. 输入以下内容:
  4. {
      "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

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

      要禁用特定表,请设置json-property" enabled"到false。你也可以通过这种方式禁用单个列。

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