# APIJSONåç«¯ä¸æ - Java
### JDBC Demoï¼
[APIJSONDemo](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo) 为 APIJSON + SpringBoot çæç®åçåçº§ä½¿ç¨ Demoï¼
[APIJSONBoot](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONBoot) 为 APIJSON + SpringBoot çæ¥è¿ç产ç¯å¢æåç Demoï¼
[APIJSONFinal](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONFinal) 为 APIJSON + JFinal çæ¥è¿ç产ç¯å¢æåç Demoã
### è¿æ¥æ± Demo
[APIJSONDemo-Druid](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-Druid) 为 APIJSON + SpringBoot + Druid çç®ååçº§ä½¿ç¨ Demoï¼
[APIJSONDemo-HikariCP](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-HikariCP) 为 APIJSON + SpringBoot + HikariCP çç®ååçº§ä½¿ç¨ Demoï¼
[APIJSONBoot-MultiDataSource](https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONBoot-MultiDataSource) 为 APIJSON + SpringBoot + Druid + HikariCP çæ¥è¿ç产ç¯å¢æåç夿°æ®æº Demoã
å
¶ä¸ APIJSONDemo å
³éäºæéæ ¡éªï¼ä¸éè¦é
ç½®æéå³å¯ä½éª /get è¿ä¸ªä¸è½æ¥è¯¢æ¥å£ã
æ°æå»ºè®®å
ä» APIJSONDemo å
¥æä½éªï¼ç¶ååè½¬ç¨ APIJSONBoot/APIJSONFinalã
Oracle, SQLServer ç JDBC 驱å¨ç¨äº GPL ç±»åè®®ï¼æä»¥ç¤ºä¾é¡¹ç®ç pom.xml 齿²¡æå å®ä»¬ç Maven ä¾èµï¼éè¦èªå·±å ã
以ä¸ç®è¦å°è¯´æäºä¸ææ¥éª¤ï¼ä¹å¯ä»¥çè¿ä¸ªè¯¦ç»ç [徿å
¥é¨æç¨](https://github.com/Tencent/APIJSON/blob/master/%E8%AF%A6%E7%BB%86%E7%9A%84%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md)
#### ç¨ç°æçå¼ç®±å³ç¨ jarå
æéé¨ç½² è§
https://github.com/TommyLemon/StaticResources/tree/master/APIJSONServer
### 1.ä¸è½½åè§£åAPIJSON-Demoå·¥ç¨
[æå¼APIJSON-DemoçGitHub主页](https://github.com/APIJSON/APIJSON-Demo) > Clone or download > [Download ZIP](https://github.com/APIJSON/APIJSON-Demo/archive/master.zip) > è§£åå°ä¸ä¸ªè·¯å¾å¹¶è®°ä½è¿ä¸ªè·¯å¾ã
### 2.导å
¥è¡¨æä»¶å°æ°æ®åº
å端éè¦MySQL ServeråMySQLWorkbenchï¼æ²¡æå®è£
çé½å
ä¸è½½å®è£
ä¸ä¸ªã
æçé
ç½®æ¯Windows 7 + MySQL Community Server 5.7.16 + MySQLWorkbench 6.3.7 å OSX EI Capitan + MySQL Community Server 5.7.16 + MySQLWorkbench 6.3.8 + Postgre 2.1.5ï¼å
¶ä¸ç³»ç»åè½¯ä»¶é½æ¯64ä½çã
#### ä½¿ç¨ Navicat
å¯å¨Navicat > åå» localhost > åå» postgres > å³é® postgres >
å¦ææ²¡æ sys 模å¼åå
å³é®æ°å»ºä¸ä¸ª > è¿è¡ SQL æä»¶ > æ ¹æ®ä½ 使ç¨çæ°æ®åºç±»åæ¥éæ©åæè§£åè·¯å¾ä¸ç APIJSON-Demo-Master éç MySQL/PostgreSQL/Oracle ç
> å¼å§ > å³é® postgres éç sys > å·æ°ï¼ sys/表 ä¼åºç°æ·»å ç表ã
#### ä½¿ç¨ MySQLWorkbenchï¼ä»
éMySQLï¼
å¯å¨MySQLWorkbench > è¿å
¥ä¸ä¸ªConnection > å¦ææ²¡æ sys Schemaåå
å³é®æ°å»ºä¸ä¸ª > ç¹å»Serverèå > Data Import > éæ©åæè§£åè·¯å¾ä¸çAPIJSON-Demo-Master/MySQL > Start Import > å·æ°SCHEMASï¼ å·¦ä¸æ¹ sys/tables ä¼åºç°æ·»å ç表ã
é
ç½®ä½ èªå·±ç表请åèï¼
[3æ¥å建APIJSONå端æ°è¡¨åé
ç½®](https://my.oschina.net/tommylemon/blog/889074)
### 3.ç¨ IntellIJ IDEA Ultimate æ Eclipse for JavaEE è¿è¡å端工ç¨
妿以ä¸ç¼è¾å¨ä¸ä¸ªé½æ²¡å®è£
ï¼è¿è¡åå
ä¸è½½å®è£
ä¸ä¸ªã
æçé
ç½®æ¯ Windows 7 + JDK 1.7.0_71 + IntellIJ 2016.3 + Eclipse 4.6.1 å OSX EI Capitan + JDK 1.8.0_91 + IntellIJ 2016.2.5 + Eclipse 4.6.1
#### IntellIJ IDEA Ultimate
1)æå¼é¡¹ç®
Open > éæ©åæè§£åè·¯å¾ä¸ç APIJSON-Demo-Master/APIJSON-Java-Server éé¢ç APIJSONDemo(ç®åDemo) æ APIJSONBoot(å®é
项ç®) > OK
2)é
ç½®ä¾èµåº
å
¶ä¸ apijson-orm, apijson-framework é»è®¤ä½¿ç¨ Maven è¿ç¨ä¾èµä»åºï¼çå¾
èªå¨ä¸è½½å®æï¼
å
·ä½è§ https://github.com/APIJSON/apijson-orm å https://github.com/APIJSON/apijson-framework
妿ä¾èµä¸è½½ä¸äºï¼æ³¨éææ¥éç apijson-orm, apijson-framework ä¾èµä»£ç ï¼
ç¶åå³é® libs (APIJSONBoot å
ï¼å
¶å®é¡¹ç®éè¦æ·è´è¿å»)éé¢ç apijson-orm.jar > Add as Library > OK
åæ ·æç
§ä»¥ä¸æ¥éª¤æ¥ä¾èµ libs ç®å½å
çå
¶å®ææ jar å
ã
3)é
ç½®æ°æ®åº(妿宿䏿¹æ¥éª¤ 4ï¼å¯¼å
¥ APIJSON ç表ï¼åå¯è·³è¿)
æå¼ DemoSQLConfig ç±»ï¼ç¼è¾ getDBUriï¼getDBAccountï¼getDBPasswordï¼getSchema çè¿åå¼ä¸ºä½ èªå·±æ°æ®åºçé
ç½®ã
4)è¿è¡é¡¹ç®
APIJSONDemo/APIJSONBoot: å³é® DemoApplication > Run DemoApplication.main
APIJSONFinal: å³é® DemoAppConfig > Run DemoAppConfig.main
è¿è¡åä¼åºç° APIJSON çæµè¯æ¥å¿ï¼æåæ¾ç¤º "APIJSON å·²å¯å¨" ï¼è¯´æå·²å¯å¨å®æã
å¦ææ¯ Address already in useï¼è¯´æ 8080 端å£è¢«å ç¨ï¼
å¯ä»¥å
³éå ç¨è¿ä¸ªç«¯å£çç¨åº(å¯è½å°±æ¯å·²è¿è¡ç APIJSON å·¥ç¨)
æè
æ¹ä¸ APIJSON å·¥ç¨ç端å£å·ï¼åè [SpringBoot æ¹ç«¯å£](https://stackoverflow.com/questions/21083170/spring-boot-how-to-configure-port)ã
å
¶å®é®é¢è¯·è°·ææç¾åº¦ã
#### Eclipse for JavaEE
1)æå¼é¡¹ç®
é¡¶é¨èå File > Import > Maven > Existing Maven Projects > Next > Browse
> éæ©åæè§£åè·¯å¾ä¸çAPIJSON-Demo-Master/APIJSON-Java-Server/APIJSONBoot
> å¾é /pom.xml ... apijson-demo > Finish
2)é
ç½®ä¾èµåº
å
¶ä¸ apijson-orm, apijson-framework é»è®¤ä½¿ç¨ Maven è¿ç¨ä¾èµä»åºï¼çå¾
èªå¨ä¸è½½å®æï¼
å
·ä½è§ https://github.com/APIJSON/apijson-orm å https://github.com/APIJSON/apijson-framework
妿ä¾èµä¸è½½ä¸äºï¼æ³¨éææ¥éç apijson-orm, apijson-framework ä¾èµä»£ç ï¼
ç¶åå³é® libs (APIJSONBoot å
ï¼å
¶å®é¡¹ç®éè¦æ·è´è¿å»)éé¢ç apijson-orm.jar > Build Path > Add to Build Path
åæ ·æç
§ä»¥ä¸æ¥éª¤æ¥ä¾èµ libs ç®å½å
çå
¶å®ææ jar å
ã
3)é
ç½®æ°æ®åº(妿宿䏿¹æ¥éª¤ 4ï¼å¯¼å
¥ APIJSON ç表ï¼åå¯è·³è¿)
æå¼ DemoSQLConfig ç±»ï¼ç¼è¾ getDBUriï¼getDBAccountï¼getDBPasswordï¼getSchema çè¿åå¼ä¸ºä½ èªå·±æ°æ®åºçé
ç½®ã
4)è¿è¡é¡¹ç®
APIJSONDemo/APIJSONBoot: å³é® DemoApplication > Run As > Java Application
APIJSONFinal: å³é® DemoAppConfig > Run As > Java Application
### 4.æµè¯è¿æ¥
卿µè§å¨è¾å
¥ [http://localhost:8080/get/{}](http://localhost:8080/get/{})
妿åºç°
```json
{
"code": 200,
"msg": "success"
}
```
å说æå·²è¿æ¥ä¸ã
妿æ¯404 Not Foundï¼è¯·æé²ç«å¢å
³éï¼ä»¥ä¾¿å¤ç½è½å¤è®¿é®ä½ ççµèææå¡å¨ã
å
¶å®é®é¢è¯·è°·ææç¾åº¦ã
### 5.æµè¯æ¥å£
ç´æ¥ä½¿ç¨ [APIJSONå¨çº¿å·¥å
·](http://apijson.org/auto) æ Postman çå
¶å® HTTP æ¥å£å·¥å
·ï¼æ ¼å¼ä¸º HTTP POST JSONï¼å
·ä½ç¤ºä¾åèéç¨ææ¡£
https://github.com/Tencent/APIJSON/blob/master/Document.md