示例
依赖项
添加以下依赖项
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean</artifactId>
<version>13.25.0</version>
</dependency>
<!-- Test dependencies -->
<dependency>
<groupId>io.ebean</groupId>
<artifactId>ebean-test</artifactId>
<version>13.25.0</version>
<scope>test</scope>
</dependency>
ebean-test
ebean-test 应添加为测试依赖项。这会配置 Ebean 以运行测试,包括自动使用 Postgres、MySql、Oracle、SqlServer、Hana 的 docker 容器 + 对 H2 和 SqlLite 的支持。
参考:文档 / 测试
构建 / 插件
在 build / plugins
部分
- 添加
tiles-maven-plugin
以执行构建时增强 - 添加或修改
maven-compiler-plugin
以注册 querybean-generator 注释处理器。
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.22</version>
<extensions>true</extensions>
<configuration>
<tiles>
<!-- other tiles ... -->
<tile>io.ebean.tile:enhancement:13.25.0</tile>
</tiles>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
...
<annotationProcessorPaths>
<path>
<groupId>io.ebean</groupId>
<artifactId>querybean-generator</artifactId>
<version>13.25.0</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
Maven 增强磁贴
上面的 maven 磁贴将在构建时增强 src/main
和 src/test
的代码。这比以传统(非磁贴)方式定义插件更简单,并且是首选方法。
如果您想以“普通”非磁贴方式指定 maven 增强插件,请参见 maven 插件。
APT - querybean 生成
请注意,如果没有其他注释处理器(例如 mapstruct),那么我们可以直接将 querybean-generator
添加为依赖项(范围为 provided),而不用显式地使用 maven-compiler-plugin 注册它。
JDBC 驱动程序
添加您要使用的 JDBC 驱动程序的依赖项。
Kotlin KAPT
在使用 Kotlin 时,我们需要使用 KAPT(Kotlin 注释处理)来生成 Kotlin 查询 bean。
推荐的做法是通过 io.avaje.kapt
maven 磁贴来实现,因为这使得添加其他注释处理器(例如 DInject,用于依赖项注入)变得更加容易。
将 maven 磁贴插件添加到 pom.xml 的 build / plugins
部分,其中包含以下磁贴
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.22</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>io.ebean.tile:enhancement:13.25.0</tile> <!-- ebean enhancement -->
<!-- Kotlin + Java compilers with KAPT support -->
<tile>io.avaje.kapt:compile:1.1</tile>
<!-- KAPT query bean generator -->
<tile>io.avaje.kapt:querybean-generator:1.1</tile>
<!-- other annotation processors ... -->
<!-- <tile>io.avaje.kapt:dinject-generator:1.1</tile> -->
<!-- <tile>io.avaje.kapt:javalin-generator:1.1</tile> -->
<!-- other tiles ... -->
</tiles>
</configuration>
</plugin>
我们可以通过添加磁贴来添加其他注释处理器,例如
- io.avaje.kapt:dinject-generator:1.1 - 用于 DInject 依赖项注入生成
- io.avaje.kapt:javalin-generator:1.1 - 用于 Javalin 控制器生成