2021腾讯犀牛鸟开源人才培养计划

开源项目介绍

滑至文末报名参与开源人才培养计划

提交项目Proposal

APIJSON项目介绍

标签:后端, ORM 库

技术栈:java

APIJSON- 后端零代码接口和文档ORM 库,赋能前端(客户端) 定制返回 JSON 的数据和结构。大幅提振开发效率、强力杜绝联调扯皮、巧妙规避文档缺陷、非常节省流量带宽。

APIJSON项目导师介绍

周作彪

APIJSON, ZBLibrary 等热门开源项目的作者及布道师,QECon 大会讲师

导师寄语:

“APIJSON 是一个业内颇具影响力的后端知名热门项目,企业案例丰富、应用场景广泛、腾讯内外获得多个奖项和多次受邀演讲,这个零代码接口和文档 ORM 库随着 Serverless 的兴起会越来越重要。学习和使用这个前沿技术,不仅能提升自己与时俱进,还可以作为参与腾讯开源的一个切入点,为日后的工作打下坚实基础。”

APIJSON拓展资料

????APIJSON GitHub主页:

https://github.com/Tencent/APIJSON

https://github.com/APIJSON/APIJSON-Demo

???? APIJSON项目官网

http://apijson.cn

????文档

http://7iscm.cn/j3IIx

????演讲

https://www.bilibili.com/video/BV1Tv411t74v?zw

https://www.bilibili.com/video/BV1yv411p7Y4

????视频

https://i.youku.com/i/UNTg1NzI1MjQ4MA==/videos?spm=a2hzp.8244740.0.0

APIJSON实战任务

(最终具体任务以实战阶段导师布置为准)

编程任务

编程任务(任选一个)
1.完善入门介绍视频(清晰展示对应的操作步骤,从下载源码到跑起来项目完成接口测试,可参考宣传视频)
https://lexiangla.com/teams/k100046/classes/a4eba9f4b6d711eba2ec268dd73d15f1?type=0&company_from=79350bd4d06911ea91f05254002f1020

2.接入 presto/hive/clickhouse/db2 任意一个(能跑起来项目进行接口测试,起码简单的分页排序搜索等查询功能可用)
https://github.com/Tencent/APIJSON#%E8%A7%84%E5%88%92%E5%8F%8A%E8%B7%AF%E7%BA%BF%E5%9B%BE

理论上所有支持 SQL 与 JDBC/ODBC 的软件,都可以用本项目对接 CRUD,待测试:
ClickHouse, Hive(延伸支持 Hadoop, Spark), DB2, Presto

可依赖它们的 JDBC 驱动(jar/maven/gradle 方式都行)并在 DemoSQLConfig 中配置,参考以下步骤
https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server

及对应的 Demo(建议用最简单的初级上手 Demo 项目 APIJSONDemo)
https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-Java-Server/APIJSONDemo/pom.xml

贡献方式
GitHub 上为 APIJSON 提交 Pull Request,具体见:
https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md

问题答疑

1. 学习和使用 APIJSON 需要了解哪些相关的知识?

需要了解 MySQL/PostgreSQL 或其它数据库的安装、建表、记录数据写入,Java IDE(InteliJ IDEA 或 Eclipse) 的安装,JDBC 驱动的接入(maven 或 jar 依赖)

https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-Java-Server/APIJSONDemo/pom.xml

2. 接入不同数据库时,是否需要修改相关源码?

如果在业务项目(假设为 APIJSONDemo)则需要引入 maven/jar 依赖,并修改 DemoSQLConfig.java 的源码来配置数据库。

如果在 APIJSON 生成的 SQL 后出现不兼容该数据库 SQL 语法,则需要改 AbstractSQLConfig.java  的源码。

3. APIJSON 源码需要掌握到什么程度?

能够修改 APIJSONDemo 的源码,以及 APIJSON AbstractSQLConfig.java 关于 JSON 转 SQL 的过程,可以参考用户写的源码解析:

https://github.com/rainboy-learn/apijson-learn

例如对接 DB2 最主要的是部署数据库,接入对应的 JDBC 把它跑起来,可以使用最简单的 Demo 来修改

https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server

AbstractSQLConfig.java 中 JSON 转 SQL 应该只需要把 分页 语法调整下就可以兼容低版本,可以参考有个开发者贡献的 Oracle 分页语法(修改了 getSQL 和 getLimitString,使用 ROWNUM 和子查询)

https://github.com/Tencent/APIJSON/pull/223/commits/08a3125adf96509ae8361095c18e54818e2e4711

AbstractSQLConfig.java 中 getQuote 为字段名引号,MySQL 用的是反引号 `id` , PostgreSQL/SQLServer/Oracle 都是双引号 "id",

如果字段名和数据库关键词没有冲突,可以直接 return "";  即不使用引号,对于大部分数据库也都没问题。

扫码填写问卷报名,提交项目proposal

加入开发实战

与导师一起成长这一夏

APIJSON开源项目交流群

欢迎对本项目感兴趣的同学一起交流

更多开源项目信息,

尽在“腾讯犀牛鸟开源人才社区”

扫码加入,解锁所有学习资料

关于腾讯犀牛鸟开源人才培养计划:为响应国家十四五规划的开源战略,腾讯于2021年5月发布“首届腾讯犀牛鸟开源人才培养计划”,希望企业界和教育界形成合力,打造面向高校学生的开源课程和开源实践培养方案,培育开源人才,普及开源文化,助力开源人才生态的发展。

首届项目由教育部计算机教学指导委员会、教育部软件工程教学指导委员会、中国信息通信研究院作为联合指导单位,包括开源基础培训、开源进阶研学、开源项目实战三个环节,项目涉及云原生、微服务、容器、AI、大数据、前端、物联网/边缘计算等多项技术热点。

各位同学报名即可参加线上开源系列课程,学习开源知识,对话学界及产业界大咖。其中入选开源项目实战的学生将在导师的一对一指导下,利用暑假开展编程实战,并有机会获得腾讯开源贡献者证书(目前全球只发出了10+张)。

????学生指南Q&A:https://github.com/Tencent/OpenSourceTalent/issues/14

????官方QQ群:859260607 (加群请备注学校+专业)

【其他项目介绍】

开源项目介绍 |TARS-高性能微服务治理框架

开源项目介绍|Apache InLong-分布式消息中间件系统

开源项目介绍|Tencent KonaJDK

开源项目介绍 |SuperEdge-云原生边缘计算平台

开源项目介绍 |Hippy-跨平台动态化框架

开源项目介绍 | Angel-高性能分布式机器学习平台

腾讯犀牛鸟开源人才培养计划官网

https://opensource.tencent.com/summer-of-code

(点击文末阅读原文直接访问)

合作或疑问欢迎联系:tencentopen@tencent.com

开源项目介绍 |APIJSON- 后端零代码接口和文档ORM 库相关推荐

  1. Tencent APIJSON-自动化接口和文档 ORM 库开源啦

    APIJSON是一种专为API而生的JSON网络传输协议以及基于这套协议实现的ORM库. 为简单的增删改查.复杂的查询.简单的事务操作提供了完全自动化的API. 能大幅降低开发和沟通成本,简化开发流程 ...

  2. Tencent APIJSON 零代码、全功能、强安全 ORM 库 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构

    项目介绍 零代码.全功能.强安全 ORM 库 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构. A JSON Transmission Protocol and an ORM ...

  3. php 动态彩码辨色 接口的调用_好用的云函数!后端低代码接口开发,零基础编写API接口...

    前言 在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作. 不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人, ...

  4. 好用的云函数!后端低代码接口开发,零基础编写API接口

    前言 在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作. 不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人, ...

  5. java pmd_java代码扫描:pmd开源项目介绍

    java代码扫描:pmd开源项目介绍.能够扫描java代码,并发现潜在的问题与bug. PMD scans Java source code and looks for potential probl ...

  6. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...

  7. 几种P2P流媒体开源项目介绍

    P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目.PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据. ...

  8. 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器开源项目介绍

    揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...

  9. P2P流媒体开源项目介绍

    P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目.PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据. ...

最新文章

  1. centos 安装 aria2 webui 实现网页下载
  2. Python_全局变量的定义
  3. 『飞鸽』百度悄然进军客户端领域
  4. python 微服务架构实战_《分布式服务架构:原理、设计与实战》第一章分布式微服务架构设计原理...
  5. find命令-exec参数的使用说明
  6. bootstrap table 怎么实现前两列固定冻结?
  7. BZOJ 1030 [JSOI2007]文本生成器(ac自动机+dp)
  8. 一步一步跟着杨中科.net视频学c#基础(1)
  9. MySQL命令行登录
  10. 直击DTCC2018 阿里数据库技术干货全面解析
  11. 档案计算机管理软件,档案管理软件系统
  12. 香港流行乐黄金二十年——经典歌手(音乐人)全面回顾 一
  13. c++知识点汇总--数组
  14. 手把手教你进行Pycharm活动模板配置
  15. 免费的天气API接口
  16. Flask外部访问服务器最简单的操作
  17. 12G大显存,七彩虹在CES发布多款RTX 3060显卡和游戏整机新品
  18. 江苏省计算机Python二级考试 总结
  19. 世界著名电影特效公司
  20. Java用递归和遍历实现斐波那契数列

热门文章

  1. drools-kie API 和kmodule.xml 文件详解
  2. Linux中的CIFS协议与SMB协议
  3. 实现一个简单的解释器(5)
  4. 【回顾】对话巨杉数据库核心研发团队:分布式数据库自研之路
  5. 玩客云在casa os上安装qBittorrent下载器
  6. 《分布式处理与计算》
  7. Android 之 矢量图应用
  8. mysql-5.6默认数据库_MySQL5.6的4个自带库详解
  9. matlab 华图技巧,华图教育——图形推理技巧
  10. svn在本地删除远程服务器上的文件