Skip to content

Commit b799e54

Browse files
committed
Server:APIJSONORM 新增支持 ORACLE 和 MS SQL Server 分页;APIJSONBoot 新增 ORACLE 和 MS SQL Server 的驱动和配置
1 parent 8bb8614 commit b799e54

File tree

6 files changed

+178
-42
lines changed

6 files changed

+178
-42
lines changed

APIJSON-Java-Server/APIJSONBoot/pom.xml

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<groupId>org.springframework.boot</groupId>
1616
<artifactId>spring-boot-starter-parent</artifactId>
1717
<version>1.4.1.RELEASE</version>
18-
<relativePath/> <!-- lookup parent from repository -->
18+
<relativePath /> <!-- lookup parent from repository -->
1919
</parent>
2020

2121
<properties>
@@ -25,12 +25,14 @@
2525
</properties>
2626

2727
<dependencies>
28+
<!-- APIJSONORM 需要用的 JSON 封装/解析库,1.2.24 以上 -->
2829
<dependency>
29-
<groupId>mysql</groupId>
30-
<artifactId>mysql-connector-java</artifactId>
31-
<version>8.0.11</version>
30+
<groupId>com.alibaba</groupId>
31+
<artifactId>fastjson</artifactId>
32+
<version>1.2.58</version>
3233
</dependency>
3334

35+
<!-- APIJSONBoot 需要用的 Spring 框架,1.4.1 以上 -->
3436
<dependency>
3537
<groupId>org.springframework.boot</groupId>
3638
<artifactId>spring-boot-starter</artifactId>
@@ -45,11 +47,18 @@
4547
<artifactId>spring-boot-starter-web</artifactId>
4648
</dependency>
4749

50+
<!-- APIJSONBoot 需要用的数据库 JDBC 驱动 -->
4851
<dependency>
49-
<groupId>com.alibaba</groupId>
50-
<artifactId>fastjson</artifactId>
51-
<version>1.2.58</version>
52+
<groupId>mysql</groupId>
53+
<artifactId>mysql-connector-java</artifactId>
54+
<version>8.0.11</version>
55+
</dependency>
56+
<dependency>
57+
<groupId>net.sourceforge.jtds</groupId>
58+
<artifactId>jtds</artifactId>
59+
<version>1.3.1</version>
5260
</dependency>
61+
5362
</dependencies>
5463

5564
<build>
@@ -75,12 +84,16 @@
7584
<repository>
7685
<id>spring-snapshots</id>
7786
<url>http://repo.spring.io/snapshot</url>
78-
<snapshots><enabled>true</enabled></snapshots>
87+
<snapshots>
88+
<enabled>true</enabled>
89+
</snapshots>
7990
</repository>
8091
<repository>
8192
<id>spring-milestones</id>
8293
<url>http://repo.spring.io/milestone</url>
83-
<snapshots><enabled>true</enabled></snapshots>
94+
<snapshots>
95+
<enabled>true</enabled>
96+
</snapshots>
8497
</repository>
8598
</repositories>
8699
<pluginRepositories>

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

Lines changed: 47 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,59 @@ public String getDBVersion() {
8484

8585
@Override
8686
public String getDBUri() {
87-
//TODO 改成你自己的,TiDB 默认端口为 4000
88-
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? "jdbc:postgresql://localhost:5432/postgres" : "jdbc:mysql://localhost:3306";
87+
String db = getDatabase();
88+
if (db == null) {
89+
db = "";
90+
}
91+
switch (db) {
92+
case DATABASE_POSTGRESQL:
93+
return "jdbc:postgresql://localhost:5432/postgres"; //TODO 改成你自己的
94+
case DATABASE_SQLSERVER:
95+
return "jdbc:jtds:sqlserver://localhost:1433/pubs;instance=SQLEXPRESS"; //TODO 改成你自己的
96+
case DATABASE_ORACLE:
97+
return "jdbc:oracle:thin:@localhost:1521:orcl"; //TODO 改成你自己的
98+
case DATABASE_MYSQL:
99+
default:
100+
return "jdbc:mysql://localhost:3306"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用,默认端口为 4000
101+
}
89102
}
103+
104+
90105
@Override
91106
public String getDBAccount() {
92-
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? "postgres" : "root"; //TODO 改成你自己的
107+
String db = getDatabase();
108+
if (db == null) {
109+
db = "";
110+
}
111+
switch (db) {
112+
case DATABASE_POSTGRESQL:
113+
return "postgres"; //TODO 改成你自己的
114+
case DATABASE_SQLSERVER:
115+
return "sa"; //TODO 改成你自己的
116+
case DATABASE_ORACLE:
117+
return "scott"; //TODO 改成你自己的
118+
case DATABASE_MYSQL:
119+
default:
120+
return "root"; //TODO 改成你自己的
121+
}
93122
}
94123
@Override
95124
public String getDBPassword() {
96-
return DATABASE_POSTGRESQL.equalsIgnoreCase(getDatabase()) ? null : "apijson"; //TODO 改成你自己的,TiDB 默认密码为空字符串 ""
125+
String db = getDatabase();
126+
if (db == null) {
127+
db = "";
128+
}
129+
switch (db) {
130+
case DATABASE_POSTGRESQL:
131+
return null; //TODO 改成你自己的
132+
case DATABASE_SQLSERVER:
133+
return "apijson@123"; //TODO 改成你自己的
134+
case DATABASE_ORACLE:
135+
return "tiger"; //TODO 改成你自己的
136+
case DATABASE_MYSQL:
137+
default:
138+
return "apijson"; //TODO 改成你自己的,TiDB 可以当成 MySQL 使用, 默认密码为空字符串 ""
139+
}
97140
}
98141

99142

APIJSON-Java-Server/APIJSONBoot/src/main/java/apijson/demo/server/DemoSQLExecutor.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,28 @@ public class DemoSQLExecutor extends AbstractSQLExecutor {
6969
e.printStackTrace();
7070
Log.e(TAG, "加载 PostgresSQL 驱动失败,请检查 libs 目录中 postgresql.jar 版本是否存在以及可用 !!!");
7171
}
72+
73+
74+
try { //加载驱动程序
75+
Log.d(TAG, "尝试加载 SQLServer 驱动 <<<<<<<<<<<<<<<<<<<<< ");
76+
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
77+
Log.d(TAG, "成功加载 SQLServer 驱动!>>>>>>>>>>>>>>>>>>>>> ");
78+
}
79+
catch (ClassNotFoundException e) {
80+
e.printStackTrace();
81+
Log.e(TAG, "加载 SQLServer 驱动失败,请检查 pom.xml 中 net.sourceforge.jtds 版本是否存在以及可用 !!!");
82+
}
83+
84+
try { //加载驱动程序
85+
Log.d(TAG, "尝试加载 Oracle 驱动 <<<<<<<<<<<<<<<<<<<<< ");
86+
Class.forName("oracle.jdbc.driver.OracleDriver");
87+
Log.d(TAG, "成功加载 Oracle 驱动!>>>>>>>>>>>>>>>>>>>>> ");
88+
}
89+
catch (ClassNotFoundException e) {
90+
e.printStackTrace();
91+
Log.e(TAG, "加载 Oracle 驱动失败,请检查 pom.xml 中 com.oracle.jdbc 版本是否存在以及可用 !!!");
92+
}
93+
7294
}
7395

7496

0 commit comments

Comments
 (0)