楼主这个和prisma有什么不同,两个都不了解,求比较一下
zwl1619 opened this issue · 2 comments
楼主这个和prisma有什么不同,两个都不了解,求比较一下:
Prisma是一个ORM库,用于实现SQL语句的封装。
需要后端针对每个需求都写封装SQL语句的代码哦
https://github.com/prismagraphql/prisma/blob/master/examples/application-server/generated-schema.graphql
查询:
type Query {
posts(where: PostWhereInput, orderBy: PostOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Post]!
users(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [User]!
post(where: PostWhereUniqueInput!): Post
user(where: UserWhereUniqueInput!): User
postsConnection(where: PostWhereInput, orderBy: PostOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): PostConnection!
usersConnection(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): UserConnection!
"""Fetches an object given its ID"""
node(
"""The ID of an object"""
id: ID!
): Node
}
增删改:
type Mutation {
createPost(data: PostCreateInput!): Post!
createUser(data: UserCreateInput!): User!
updatePost(data: PostUpdateInput!, where: PostWhereUniqueInput!): Post
updateUser(data: UserUpdateInput!, where: UserWhereUniqueInput!): User
deletePost(where: PostWhereUniqueInput!): Post
deleteUser(where: UserWhereUniqueInput!): User
upsertPost(where: PostWhereUniqueInput!, create: PostCreateInput!, update: PostUpdateInput!): Post!
upsertUser(where: UserWhereUniqueInput!, create: UserCreateInput!, update: UserUpdateInput!): User!
updateManyPosts(data: PostUpdateInput!, where: PostWhereInput): BatchPayload!
updateManyUsers(data: UserUpdateInput!, where: UserWhereInput): BatchPayload!
deleteManyPosts(where: PostWhereInput): BatchPayload!
deleteManyUsers(where: UserWhereInput): BatchPayload!
}
更新:
以上链接已失效,官方迁移了 examples,可以参考
https://github.com/prisma/prisma-examples/blob/master/node/docker-mysql/src/script.js
https://github.com/prisma/prisma-examples/blob/master/node/docker-mysql/src/generated/prisma-client/prisma-schema.js
而APIJSON是完全自动化生成SQL语句的,后端不需要写相关代码。
前端按照 设计规范 来请求,后端会完全自动解析成SQL语句去连接数据库执行,并返回和Request JSON结构完全对应的Response JSON
这是APISJONAuto接口在线工具,文档上给出的表和字段随便试,任何结构任何数据都支持。
http://apijson.org/auto
@zwl1619 APIJSON Node 版本也出来了,语言一样,你可以具体对比下。
目前在初期阶段,用了 TypeORM,所以需要写 Model 类(Java 版不需要)。
apijson-node 支持单表、关联、数组、分页查询等,有比较完善的文档,
我测试过,除了项目提供的表有 utf8 编码问题导入不了 (用我自己的表测试可以),其它都可用。
作者是微医的,已经写了不少测试用例,在他公司内部用起来了。
点 Star 鼓励作者继续完善吧 ^_^
https://github.com/kevinaskin/apijson-node