2828import apijson .orm .AbstractParser ;
2929import apijson .orm .AbstractSQLConfig ;
3030import apijson .orm .Parser ;
31+ //import apijson.surrealdb.SurrealDBUtil;
3132import com .alibaba .fastjson .annotation .JSONField ;
3233
3334import apijson .column .ColumnUtil ;
@@ -54,7 +55,8 @@ public DemoSQLConfig(RequestMethod method, String table) {
5455
5556 static {
5657 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:
5860
5961 // 表名和数据库不一致的,需要配置映射关系。只使用 APIJSONORM 时才需要;
6062 // 这个 Demo 用了 apijson-framework 且调用了 APIJSONApplication.init 则不需要
@@ -77,9 +79,10 @@ public AbstractSQLConfig getSQLConfig(RequestMethod method, String database, Str
7779 //取消注释来实现自定义各个表的主键名
7880 // @Override
7981 // public String getIdKey(String database, String schema, String datasource, String table) {
82+ // // return "_id"; // SurrealDB 强制用 id 作为主键名,surrealdb.java 查不到也改不了,所以需要另外加主键
8083 // 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 ...
8386 // }
8487
8588 @ Override
@@ -159,9 +162,9 @@ public String getDBVersion() {
159162 if (isDb2 ()) {
160163 return "11.5" ; //TODO 改成你自己的
161164 }
162- //if (isSQLite()) {
163- // return "3.39.3"; //TODO 改成你自己的
164- //}
165+ // if (isSQLite()) {
166+ // return "3.39.3"; //TODO 改成你自己的
167+ // }
165168 if (isDameng ()) {
166169 return "8.1.2.141" ; //TODO 改成你自己的
167170 }
@@ -171,18 +174,21 @@ public String getDBVersion() {
171174 if (isMilvus ()) {
172175 return "2.3.4" ; //TODO 改成你自己的
173176 }
174- if (isIoTDB ()) {
175- return "1.3.1" ; //TODO 改成你自己的
176- }
177+ // if (isIoTDB()) {
178+ // return "1.3.1"; //TODO 改成你自己的
179+ // }
177180 if (isMongoDB ()) {
178181 return "6.0.12" ; //TODO 改成你自己的
179182 }
180183 if (isCassandra ()) {
181184 return "4.0.1" ; //TODO 改成你自己的
182185 }
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+ // }
186192
187193 return null ;
188194 }
@@ -233,18 +239,23 @@ public String getDBUri() {
233239 if (isMilvus ()) {
234240 return "http://localhost:19530" ; //TODO 改成你自己的
235241 }
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+ // }
239245 if (isMongoDB ()) {
240246 return "jdbc:mongodb://atlas-sql-6593c65c296c5865121e6ebe-xxskv.a.query.mongodb.net/myVirtualDatabase?ssl=true&authSource=admin" ; //TODO 改成你自己的
241247 }
242248 if (isCassandra ()) {
243249 return "http://localhost:7001" ; //TODO 改成你自己的
244250 }
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+ // }
248259
249260 return null ;
250261 }
@@ -291,18 +302,21 @@ public String getDBAccount() {
291302 if (isMilvus ()) {
292303 return "root" ;
293304 }
294- if (isIoTDB ()) {
295- return "root" ;
296- }
305+ // if (isIoTDB()) {
306+ // return "root";
307+ // }
297308 if (isMongoDB ()) {
298309 return "root" ; //TODO 改成你自己的
299310 }
300311 if (isCassandra ()) {
301312 return "root" ; //TODO 改成你自己的
302313 }
303- if (isDuckDB ()) {
304- return "root" ; //TODO 改成你自己的
305- }
314+ // if (isDuckDB()) {
315+ // return "root"; //TODO 改成你自己的
316+ // }
317+ // if (isSurrealDB()) {
318+ // return "root"; //TODO 改成你自己的
319+ // }
306320
307321 return null ;
308322 }
@@ -334,9 +348,9 @@ public String getDBPassword() {
334348 if (isDb2 ()) {
335349 return "123" ; //TODO 改成你自己的
336350 }
337- //if (isSQLite()) {
338- // return "apijson"; //TODO 改成你自己的
339- //}
351+ // if (isSQLite()) {
352+ // return "apijson"; //TODO 改成你自己的
353+ // }
340354 if (isDameng ()) {
341355 return "SYSDBA" ;
342356 }
@@ -349,18 +363,21 @@ public String getDBPassword() {
349363 if (isMilvus ()) {
350364 return "apijson" ; //TODO 改成你自己的
351365 }
352- if (isIoTDB ()) {
353- return "root" ;
354- }
366+ // if (isIoTDB()) {
367+ // return "root";
368+ // }
355369 if (isMongoDB ()) {
356370 return "apijson" ; //TODO 改成你自己的
357371 }
358372 if (isCassandra ()) {
359373 return "apijson" ; //TODO 改成你自己的
360374 }
361- if (isDuckDB ()) {
362- return "" ; //TODO 改成你自己的
363- }
375+ // if (isDuckDB()) {
376+ // return ""; //TODO 改成你自己的
377+ // }
378+ // if (isSurrealDB()) {
379+ // return "root"; //TODO 改成你自己的
380+ // }
364381
365382 return null ;
366383 }
@@ -464,29 +481,42 @@ protected int getMaxCombineCount() {
464481 return 10 ;
465482 }
466483
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+ // }
478507
479508 @ Override
480509 public String getSQLTable () {
481510 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);
484514 }
485515
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+ // }
490520
491521 // 取消注释可将前端传参驼峰命名转为蛇形命名 aBCdEfg => upper ? A_B_CD_EFG : a_b_cd_efg
492522 // @Override
0 commit comments