An open API service indexing awesome lists of open source software.

https://github.com/pharosnet/vertx-pg-dal

vertx postgres database access layer
https://github.com/pharosnet/vertx-pg-dal

code-generator dal maven-plugin vertx

Last synced: about 1 month ago
JSON representation

vertx postgres database access layer

Awesome Lists containing this project

README

          

# vertx-pg-dal
Postgres database access layer, base on vertx-pg-client (3.8.0).

## Features

* async
* simple
* no reflect-code cost

## usage

* add dependency

```xml

io.vertx
vertx-pg-client
${vertx.version}



org.pharosnet
vertx-pg-dal
1.5.8

```

* update pom.xml

```xml

maven-compiler-plugin
3.8.0

11
11
UTF-8
true
src/main/generatedsrc/test/generated



default-compile


io.vertx.codegen.CodeGenProcessor
org.pharosnet.vertx.pg.dal.gen.PgCodeGenProcessor

src/main/generated

-Acodegen.output=${project.basedir}/src/main




default-testCompile


io.vertx.codegen.CodeGenProcessor
org.pharosnet.vertx.pg.dal.gen.PgCodeGenProcessor

src/test/generated

-Acodegen.output=${project.basedir}/src/test





```

* CREATE A TABLE ROW CLASS

```JAVA
@Table(schema = "CDST", name = "USER")
public class User extends AbstractRow {

@Column(name = "ID", kind = ColumnKind.ID)
private String id;

@Column(name = "data")
private String name;


public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

```

* CREATE A DAL INTERFACE

```java
@Dal
public interface UserDAL extends AbstractDAL {

@Query("select * from \"cdst\".\"user\" where \"id\" = $1 or \"id\" = $2 offset $3 limit $4")
void query01(
@Arg({1, 2}) String id,
@Arg({3})Integer offset,
@Arg({4})Integer length,
Handler>>> handler);

@Query("select * from \"cdst\".\"user\" where \"id\" = $1 ")
void query02(
@Arg({1}) String id,
@Arg({2})Integer offset,
@Arg({3})Integer length,
Handler>> handler);

// support sql placeholder
@Query("select * from \"cdst\".\"user\" where \"id\" = $1 and \"name\" in (%names) offset $2 limit $3")
void query03(
@Arg({1}) String id,
@Arg(kind = ArgKind.PLACEHOLDER) List names,
@Arg({2})Integer offset,
@Arg({3})Integer length,
Handler>>> handler);

}

```
* Get dal from PostgresDALs.
```java
// init postgres dal holder.
PostgresDALs.INIT(client);
// get UserDAL from PostgresDALs
UserDAL dal = PostgresDALs.get(UserDAL.class);

```

* RUN MAVEN COMPILE, THEN IT WILL GENERATE DAL JAVA FILES.

* HAPPY TO USE THEM.

## THANKS

* vertx-pg-client