Skip to content

Commit 534e1dc

Browse files
committed
Server:打包 apijson-orm-3.8.6.jar;同步 APIJSONBoot 代码到 APIJSONFinal
1 parent 370000d commit 534e1dc

File tree

11 files changed

+185
-273
lines changed

11 files changed

+185
-273
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.

APIJSON-Java-Server/APIJSONFinal/pom.xml

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,40 +8,44 @@
88
<name>APIJSON Demo based on JFinal</name>
99
<url>http://maven.apache.org</url>
1010
<dependencies>
11-
11+
<!-- APIJSONORM 需要用的 JSON 封装/解析库,1.2.24 以上 -->
1212
<dependency>
13-
<groupId>junit</groupId>
14-
<artifactId>junit</artifactId>
15-
<version>4.0</version>
16-
<scope>test</scope>
13+
<groupId>com.alibaba</groupId>
14+
<artifactId>fastjson</artifactId>
15+
<version>1.2.58</version>
1716
</dependency>
1817

18+
<!-- APIJSONBoot 需要用的 JFinal 框架,3.5 以上 -->
1919
<dependency>
2020
<groupId>com.jfinal</groupId>
2121
<artifactId>jfinal-undertow</artifactId>
22-
<version>1.4</version>
22+
<version>1.9</version>
2323
</dependency>
2424

2525
<dependency>
2626
<groupId>com.jfinal</groupId>
2727
<artifactId>jfinal</artifactId>
28-
<version>3.5</version>
28+
<version>4.6</version>
2929
</dependency>
3030

31+
<!-- APIJSONBoot 需要用的数据库 JDBC 驱动 -->
3132
<dependency>
3233
<groupId>mysql</groupId>
3334
<artifactId>mysql-connector-java</artifactId>
34-
<version>5.1.40</version>
35+
<version>8.0.11</version>
3536
</dependency>
36-
3737
<dependency>
38-
<groupId>com.alibaba</groupId>
39-
<artifactId>fastjson</artifactId>
40-
<version>1.2.58</version>
38+
<groupId>org.postgresql</groupId>
39+
<artifactId>postgresql</artifactId>
40+
<version>42.2.5</version>
41+
</dependency>
42+
<dependency>
43+
<groupId>net.sourceforge.jtds</groupId>
44+
<artifactId>jtds</artifactId>
45+
<version>1.3.1</version>
4146
</dependency>
47+
<!-- 没找到合适且稳定的 Oracle 的 JDBC Maven 依赖,已在 libs 目录放了对应的 jar 包来替代 -->
4248

43-
<!-- dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId>
44-
<version>1.2.16</version> </dependency -->
4549
</dependencies>
4650
<build>
4751
<!-- <finalName>helloworld</finalName> -->

APIJSON-Java-Server/APIJSONFinal/src/main/java/apijson/demo/server/DemoSQLConfig.java

Lines changed: 86 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121

2222
import com.alibaba.fastjson.JSONObject;
2323

24-
import apijson.demo.server.model.Privacy;
25-
import apijson.demo.server.model.User;
2624
import zuo.biao.apijson.RequestMethod;
2725
import zuo.biao.apijson.server.AbstractSQLConfig;
2826
import zuo.biao.apijson.server.Join;
@@ -38,14 +36,15 @@ public class DemoSQLConfig extends AbstractSQLConfig {
3836

3937
public static final Callback SIMPLE_CALLBACK;
4038

41-
39+
4240
static {
43-
//TODO 默认模式名,改成你自己的
44-
DEFAULT_SCHEMA = "sys";
45-
46-
//表名映射,隐藏真实表名,对安全要求很高的表可以这么做
47-
TABLE_KEY_MAP.put(User.class.getSimpleName(), "apijson_user");
48-
TABLE_KEY_MAP.put(Privacy.class.getSimpleName(), "apijson_privacy");
41+
DEFAULT_DATABASE = DATABASE_MYSQL; //TODO 默认数据库类型,改成你自己的
42+
DEFAULT_SCHEMA = "sys"; //TODO 默认模式名,改成你自己的,默认情况是 MySQL: sys, PostgreSQL: public, SQL Server: dbo, Oracle:
43+
44+
// 由 DemoVerifier.init 方法读取数据库 Access 表来替代手动输入配置
45+
// //表名映射,隐藏真实表名,对安全要求很高的表可以这么做
46+
// TABLE_KEY_MAP.put(User.class.getSimpleName(), "apijson_user");
47+
// TABLE_KEY_MAP.put(Privacy.class.getSimpleName(), "apijson_privacy");
4948

5049
//主键名映射
5150
SIMPLE_CALLBACK = new SimpleCallback() {
@@ -71,32 +70,97 @@ public String getUserIdKey(String database, String schema, String table) {
7170
};
7271
}
7372

74-
//取消注释后,默认的数据库类型会由 MySQL 改为 PostgreSQL
75-
// @Override
76-
// public String getDatabase() {
77-
// String db = super.getDatabase();
78-
// return db == null ? DATABASE_POSTGRESQL : db;
79-
// }
80-
8173
@Override
8274
public String getDBVersion() {
83-
return "5.7.22"; //"8.0.11"; //TODO 改成你自己的 MySQL 或 PostgreSQL 数据库版本号 //MYSQL 8 和 7 使用的 JDBC 配置不一样
75+
if (isMySQL()) {
76+
return "5.7.22"; //"8.0.11"; //TODO 改成你自己的 MySQL 或 PostgreSQL 数据库版本号 //MYSQL 8 和 7 使用的 JDBC 配置不一样
77+
}
78+
if (isPostgreSQL()) {
79+
return "9.6.15"; //TODO 改成你自己的
80+
}
81+
if (isSQLServer()) {
82+
return "2016"; //TODO 改成你自己的
83+
}
84+
if (isOracle()) {
85+
return "18c"; //TODO 改成你自己的
86+
}
87+
return null;
8488
}
85-
8689
@Override
8790
public String getDBUri() {
88-
//TODO 改成你自己的,TiDB 默认端口为 4000
89-
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? "jdbc:postgresql://localhost:5432/postgres" : "jdbc:mysql://localhost:3306";
91+
if (isMySQL()) {
92+
return "jdbc:mysql://localhost:3306"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用,默认端口为 4000
93+
}
94+
if (isPostgreSQL()) {
95+
return "jdbc:postgresql://localhost:5432/postgres"; //TODO 改成你自己的
96+
}
97+
if (isSQLServer()) {
98+
return "jdbc:jtds:sqlserver://localhost:1433/pubs;instance=SQLEXPRESS"; //TODO 改成你自己的
99+
}
100+
if (isOracle()) {
101+
return "jdbc:oracle:thin:@localhost:1521:orcl"; //TODO 改成你自己的
102+
}
103+
return null;
90104
}
91105
@Override
92106
public String getDBAccount() {
93-
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? "postgres" : "root"; //TODO 改成你自己的
107+
if (isMySQL()) {
108+
return "root"; //TODO 改成你自己的
109+
}
110+
if (isPostgreSQL()) {
111+
return "postgres"; //TODO 改成你自己的
112+
}
113+
if (isSQLServer()) {
114+
return "sa"; //TODO 改成你自己的
115+
}
116+
if (isOracle()) {
117+
return "scott"; //TODO 改成你自己的
118+
}
119+
return null;
94120
}
95121
@Override
96122
public String getDBPassword() {
97-
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? null : "apijson"; //TODO 改成你自己的,TiDB 默认密码为空字符串 ""
123+
if (isMySQL()) {
124+
return "apijson"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用, 默认密码为空字符串 ""
125+
}
126+
if (isPostgreSQL()) {
127+
return null; //TODO 改成你自己的
128+
}
129+
if (isSQLServer()) {
130+
return "apijson@123"; //TODO 改成你自己的
131+
}
132+
if (isOracle()) {
133+
return "tiger"; //TODO 改成你自己的
134+
}
135+
return null;
98136
}
99137

138+
//取消注释后,默认的数据库类型会由 MySQL 改为 PostgreSQL
139+
// @Override
140+
// public String getDatabase() {
141+
// String db = super.getDatabase();
142+
// return db == null ? DATABASE_POSTGRESQL : db;
143+
// }
144+
145+
//如果确定只用一种数据库,可以重写方法,这种数据库直接 return true,其它数据库直接 return false,来减少判断,提高性能
146+
// @Override
147+
// public boolean isMySQL() {
148+
// return true;
149+
// }
150+
// @Override
151+
// public boolean isPostgreSQL() {
152+
// return false;
153+
// }
154+
// @Override
155+
// public boolean isSQLServer() {
156+
// return false;
157+
// }
158+
// @Override
159+
// public boolean isOracle() {
160+
// return false;
161+
// }
162+
163+
100164

101165
@Override
102166
public String getIdKey() {

0 commit comments

Comments
 (0)