Skip to content

Commit 3f217b8

Browse files
committed
Add src/content/code/language-support/java-kotlin-androd/server/graphql-provider.md
1 parent 56817e6 commit 3f217b8

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: graphql-provider
3+
description: GraphQL server-side rapid development framework, if users use RDBMS to manage persistent data, it can help users to quickly build GraphQL services in the shortest time (based on kotlin and R2DBC)
4+
url: https://github.com/babyfish-ct/graphql-provider
5+
github: babyfish-ct/graphql-provider
6+
---
7+
8+
1. It is a GRM (GraphQL-Relation mapping), and its usage is similar to ORM. When kotlin dsl is used to complete the mapping configuration between entities and tables, GraphQL objects and associations are automatically completed, including the runtime association-level DataLoader and related batch loading optimization.
9+
10+
2. It is easy to add user implemention fields to entity, where you can implement business-related calculations. User implementation fields can also enjoy the automatic generated DataLoader and related batch query optimization at runtime.
11+
12+
3. Whether it is to implement query-level arguments or association-level arguments, you only need to use strongly typed SQL DSL to specify some dynamic filtering and sorting, and the rest is done automatically.
13+
14+
4. If you need pagination query, there is no development cost except changing the return type of ordinary query from List<T> to Connection<T>.
15+
16+
5. For mutation operations, the inputs type can be automatically generated according to a simple configuration, only need to focus on entity objects, not input objects. At runtime, the framework can automatically convert the input object to a dynamic entity object tree and you only need one sentence to save any complex entity object tree to the database.
17+
18+

0 commit comments

Comments
 (0)