28
28
import apijson .orm .AbstractParser ;
29
29
import apijson .orm .AbstractSQLConfig ;
30
30
import apijson .orm .Parser ;
31
+ //import apijson.surrealdb.SurrealDBUtil;
31
32
import com .alibaba .fastjson .annotation .JSONField ;
32
33
33
34
import apijson .column .ColumnUtil ;
@@ -54,7 +55,8 @@ public DemoSQLConfig(RequestMethod method, String table) {
54
55
55
56
static {
56
57
DEFAULT_DATABASE = DATABASE_MYSQL ; //TODO 默认数据库类型,改成你自己的。TiDB, MariaDB, OceanBase 这类兼容 MySQL 的可当做 MySQL 使用
57
- DEFAULT_SCHEMA = "sys" ; // ""apijson"; //TODO 默认数据库名/模式,改成你自己的,默认情况是 MySQL: sys, PostgreSQL: sys, SQL Server: dbo, Oracle:
58
+ // DEFAULT_NAMESPACE = "root"; //TODO 默认数据库名/模式,改成你自己的,仅对 PostgreSQL: posgres, SurrealDB: root 等数据库有效
59
+ DEFAULT_SCHEMA = "sys" ; // "apijson"; //TODO 默认数据库名/模式,改成你自己的,默认情况是 MySQL: sys, PostgreSQL: sys, SQL Server: dbo, Oracle:
58
60
59
61
// 表名和数据库不一致的,需要配置映射关系。只使用 APIJSONORM 时才需要;
60
62
// 这个 Demo 用了 apijson-framework 且调用了 APIJSONApplication.init 则不需要
@@ -77,9 +79,10 @@ public AbstractSQLConfig getSQLConfig(RequestMethod method, String database, Str
77
79
//取消注释来实现自定义各个表的主键名
78
80
// @Override
79
81
// public String getIdKey(String database, String schema, String datasource, String table) {
82
+ // // return "_id"; // SurrealDB 强制用 id 作为主键名,surrealdb.java 查不到也改不了,所以需要另外加主键
80
83
// return StringUtil.firstCase(table + "Id"); // userId, comemntId ...
81
- // // return StringUtil.toLowerCase(t) + "_id"; // user_id, comemnt_id ...
82
- // // return StringUtil.toUpperCase(t) + "_ID"; // USER_ID, COMMENT_ID ...
84
+ // // return StringUtil.toLowerCase(t) + "_id"; // user_id, comemnt_id ...
85
+ // // return StringUtil.toUpperCase(t) + "_ID"; // USER_ID, COMMENT_ID ...
83
86
// }
84
87
85
88
@ Override
@@ -159,9 +162,9 @@ public String getDBVersion() {
159
162
if (isDb2 ()) {
160
163
return "11.5" ; //TODO 改成你自己的
161
164
}
162
- //if (isSQLite()) {
163
- // return "3.39.3"; //TODO 改成你自己的
164
- //}
165
+ // if (isSQLite()) {
166
+ // return "3.39.3"; //TODO 改成你自己的
167
+ // }
165
168
if (isDameng ()) {
166
169
return "8.1.2.141" ; //TODO 改成你自己的
167
170
}
@@ -171,18 +174,21 @@ public String getDBVersion() {
171
174
if (isMilvus ()) {
172
175
return "2.3.4" ; //TODO 改成你自己的
173
176
}
174
- if (isIoTDB ()) {
175
- return "1.3.1" ; //TODO 改成你自己的
176
- }
177
+ // if (isIoTDB()) {
178
+ // return "1.3.1"; //TODO 改成你自己的
179
+ // }
177
180
if (isMongoDB ()) {
178
181
return "6.0.12" ; //TODO 改成你自己的
179
182
}
180
183
if (isCassandra ()) {
181
184
return "4.0.1" ; //TODO 改成你自己的
182
185
}
183
- if (isDuckDB ()) {
184
- return "1.1.3" ; //TODO 改成你自己的
185
- }
186
+ // if (isDuckDB()) {
187
+ // return "1.1.3"; //TODO 改成你自己的
188
+ // }
189
+ // if (isSurrealDB()) {
190
+ // return "2.0.0"; //TODO 改成你自己的
191
+ // }
186
192
187
193
return null ;
188
194
}
@@ -233,18 +239,23 @@ public String getDBUri() {
233
239
if (isMilvus ()) {
234
240
return "http://localhost:19530" ; //TODO 改成你自己的
235
241
}
236
- if (isIoTDB ()) {
237
- return "jdbc:iotdb://localhost:6667" ; // ?charset=GB18030 加参数会报错 URI 格式错误 //TODO 改成你自己的
238
- }
242
+ // if (isIoTDB()) {
243
+ // return "jdbc:iotdb://localhost:6667"; // ?charset=GB18030 加参数会报错 URI 格式错误 //TODO 改成你自己的
244
+ // }
239
245
if (isMongoDB ()) {
240
246
return "jdbc:mongodb://atlas-sql-6593c65c296c5865121e6ebe-xxskv.a.query.mongodb.net/myVirtualDatabase?ssl=true&authSource=admin" ; //TODO 改成你自己的
241
247
}
242
248
if (isCassandra ()) {
243
249
return "http://localhost:7001" ; //TODO 改成你自己的
244
250
}
245
- if (isDuckDB ()) {
246
- return "jdbc:duckdb:/Users/tommylemon/my_database.duckdb" ; //TODO 改成你自己的
247
- }
251
+ // if (isDuckDB()) {
252
+ // return "jdbc:duckdb:/Users/tommylemon/my_database.duckdb"; //TODO 改成你自己的
253
+ // }
254
+ // if (isSurrealDB()) {
255
+ // // return "memory"; //TODO 改成你自己的
256
+ // // return "surrealkv://localhost:8000"; //TODO 改成你自己的
257
+ // return "ws://localhost:8000"; //TODO 改成你自己的
258
+ // }
248
259
249
260
return null ;
250
261
}
@@ -291,18 +302,21 @@ public String getDBAccount() {
291
302
if (isMilvus ()) {
292
303
return "root" ;
293
304
}
294
- if (isIoTDB ()) {
295
- return "root" ;
296
- }
305
+ // if (isIoTDB()) {
306
+ // return "root";
307
+ // }
297
308
if (isMongoDB ()) {
298
309
return "root" ; //TODO 改成你自己的
299
310
}
300
311
if (isCassandra ()) {
301
312
return "root" ; //TODO 改成你自己的
302
313
}
303
- if (isDuckDB ()) {
304
- return "root" ; //TODO 改成你自己的
305
- }
314
+ // if (isDuckDB()) {
315
+ // return "root"; //TODO 改成你自己的
316
+ // }
317
+ // if (isSurrealDB()) {
318
+ // return "root"; //TODO 改成你自己的
319
+ // }
306
320
307
321
return null ;
308
322
}
@@ -334,9 +348,9 @@ public String getDBPassword() {
334
348
if (isDb2 ()) {
335
349
return "123" ; //TODO 改成你自己的
336
350
}
337
- //if (isSQLite()) {
338
- // return "apijson"; //TODO 改成你自己的
339
- //}
351
+ // if (isSQLite()) {
352
+ // return "apijson"; //TODO 改成你自己的
353
+ // }
340
354
if (isDameng ()) {
341
355
return "SYSDBA" ;
342
356
}
@@ -349,18 +363,21 @@ public String getDBPassword() {
349
363
if (isMilvus ()) {
350
364
return "apijson" ; //TODO 改成你自己的
351
365
}
352
- if (isIoTDB ()) {
353
- return "root" ;
354
- }
366
+ // if (isIoTDB()) {
367
+ // return "root";
368
+ // }
355
369
if (isMongoDB ()) {
356
370
return "apijson" ; //TODO 改成你自己的
357
371
}
358
372
if (isCassandra ()) {
359
373
return "apijson" ; //TODO 改成你自己的
360
374
}
361
- if (isDuckDB ()) {
362
- return "" ; //TODO 改成你自己的
363
- }
375
+ // if (isDuckDB()) {
376
+ // return ""; //TODO 改成你自己的
377
+ // }
378
+ // if (isSurrealDB()) {
379
+ // return "root"; //TODO 改成你自己的
380
+ // }
364
381
365
382
return null ;
366
383
}
@@ -464,29 +481,42 @@ protected int getMaxCombineCount() {
464
481
return 10 ;
465
482
}
466
483
467
- // @Override
468
- // public String getSchema() {
469
- // return InfluxDBUtil.getSchema(super.getSchema(), DEFAULT_SCHEMA, isIoTDB());
470
- //// return IoTDBUtil.getSchema(super.getSchema(), DEFAULT_SCHEMA, isIoTDB());
471
- // }
472
- //
473
- // @Override
474
- // public String getSQLSchema() {
475
- // return InfluxDBUtil.getSQLSchema(super.getSQLSchema(), isIoTDB());
476
- //// return IoTDBUtil.getSQLSchema(super.getSQLSchema().replaceAll("-", "."), isIoTDB());
477
- // }
484
+ // @Override
485
+ // public String getNamespace() {
486
+ // return SurrealDBUtil.getNamespace(super.getNamespace(), DEFAULT_NAMESPACE, isSurrealDB());
487
+ // }
488
+ //
489
+ // @Override
490
+ // public String getSQLNamespace() {
491
+ // return SurrealDBUtil.getSQLNamespace(super.getSQLNamespace(), isSurrealDB());
492
+ // }
493
+ //
494
+ // @Override
495
+ // public String getSchema() {
496
+ // return SurrealDBUtil.getSchema(super.getSchema(), DEFAULT_SCHEMA, isSurrealDB());
497
+ //// return InfluxDBUtil.getSchema(super.getSchema(), DEFAULT_SCHEMA, isIoTDB());
498
+ //// return IoTDBUtil.getSchema(super.getSchema(), DEFAULT_SCHEMA, isIoTDB());
499
+ // }
500
+ //
501
+ // @Override
502
+ // public String getSQLSchema() {
503
+ // return SurrealDBUtil.getSQLSchema(super.getSQLSchema(), isSurrealDB());
504
+ //// return InfluxDBUtil.getSQLSchema(super.getSQLSchema(), isIoTDB());
505
+ //// return IoTDBUtil.getSQLSchema(super.getSQLSchema().replaceAll("-", "."), isIoTDB());
506
+ // }
478
507
479
508
@ Override
480
509
public String getSQLTable () {
481
510
String t = super .getSQLTable ();
482
- return isInfluxDB () || isIoTDB () ? t .toLowerCase () : t ;
483
- // return isInfluxDB() ? t.toLowerCase() : StringUtil.firstCase(JSONRequest.recoverUnderline(t, false), false);
511
+ return isInfluxDB () ? t .toLowerCase () : t ;
512
+ // return isInfluxDB() || isIoTDB() ? t.toLowerCase() : t;
513
+ // return isInfluxDB() ? t.toLowerCase() : StringUtil.firstCase(JSONRequest.recoverUnderline(t, false), false);
484
514
}
485
515
486
- // @Override
487
- // public String getTablePath() {
488
- // return IoTDBUtil.getTablePath(super.getTablePath(), isIoTDB());
489
- // }
516
+ // @Override
517
+ // public String getTablePath() {
518
+ // return IoTDBUtil.getTablePath(super.getTablePath(), isIoTDB());
519
+ // }
490
520
491
521
// 取消注释可将前端传参驼峰命名转为蛇形命名 aBCdEfg => upper ? A_B_CD_EFG : a_b_cd_efg
492
522
// @Override
0 commit comments