Skip to content

Commit a192699

Browse files
committed
use ebean
1 parent a40500b commit a192699

7 files changed

Lines changed: 73 additions & 137 deletions

File tree

frameworks/Java/avaje-jex/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@
5555
<artifactId>HikariCP</artifactId>
5656
<version>6.3.0</version>
5757
</dependency>
58+
59+
<dependency>
60+
<groupId>io.ebean</groupId>
61+
<artifactId>ebean-postgres</artifactId>
62+
</dependency>
63+
5864
<dependency>
5965
<groupId>org.postgresql</groupId>
6066
<artifactId>postgresql</artifactId>
@@ -89,6 +95,11 @@
8995
<artifactId>avaje-jsonb-generator</artifactId>
9096
<scope>provided</scope>
9197
</dependency>
98+
<dependency>
99+
<groupId>io.ebean</groupId>
100+
<artifactId>querybean-generator</artifactId>
101+
<scope>provided</scope>
102+
</dependency>
92103
</dependencies>
93104

94105
<build>
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package benchmark.repository;
2+
3+
import benchmark.model.Fortune;
4+
import benchmark.model.World;
5+
import io.ebean.DB;
6+
import jakarta.inject.Singleton;
7+
import java.sql.SQLException;
8+
import java.util.ArrayList;
9+
import java.util.Comparator;
10+
import java.util.List;
11+
12+
@Singleton
13+
public class EbeanDbService implements DbService {
14+
15+
@Override
16+
public List<World> getWorld(int num) {
17+
18+
String select = "select id, randomNumber from World where id IN (?)";
19+
20+
return DB.findDto(World.class, select).setParameter(getRandomNumberSet(num)).findList();
21+
}
22+
23+
@Override
24+
public List<Fortune> getFortune() throws SQLException {
25+
26+
String select = "select id, message from Fortune";
27+
List<Fortune> fortuneList = new ArrayList<>(DB.findDto(Fortune.class, select).findList());
28+
29+
fortuneList.add(new Fortune(defaultFortuneId, defaultFortuneMessage));
30+
31+
fortuneList.sort(Comparator.comparing(Fortune::message));
32+
return fortuneList;
33+
}
34+
35+
@Override
36+
public List<World> updateWorld(int num) throws SQLException {
37+
38+
String update = "update World set randomNumber = ? where id = ?";
39+
List<World> worldList = getWorld(num);
40+
var sqlUpdate = DB.sqlUpdate(update);
41+
42+
for (World world : worldList) {
43+
int newRandomNumber;
44+
do {
45+
newRandomNumber = getRandomNumber();
46+
} while (newRandomNumber == world.getRandomNumber());
47+
48+
sqlUpdate.setParameter(1, newRandomNumber).setParameter(2, world.getId()).addBatch();
49+
50+
world.setRandomNumber(newRandomNumber);
51+
}
52+
53+
sqlUpdate.executeBatch();
54+
55+
return worldList;
56+
}
57+
}

frameworks/Java/avaje-jex/src/main/java/benchmark/repository/HikariFactory.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

frameworks/Java/avaje-jex/src/main/java/benchmark/repository/JDBCDbService.java

Lines changed: 0 additions & 95 deletions
This file was deleted.

frameworks/Java/avaje-jex/src/main/java/module-info.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
requires java.sql;
77
requires org.postgresql.jdbc;
88
requires com.zaxxer.hikari;
9+
requires io.ebean.core;
10+
requires io.ebean.querybean;
911
// template engine
1012
requires io.jstach.jstachio;
1113
/// Configuration
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
physicalTag=Citrine
2-
cloudTag=Azure
3-
4-
postgresPhysicalPoolSize=56
5-
postgresCloudPoolSize=16
6-
postgresDefaultPoolSize=10
1+
datasource.db.username=benchmarkdbuser
2+
datasource.db.password=benchmarkdbpass
3+
datasource.db.url=jdbc:postgresql://tfb-database:5432/hello_world

frameworks/Java/avaje-jex/src/main/resources/hikari.properties

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)