Commit 82b2c1ec authored by Quxl's avatar Quxl

x

parent c0ba9f1a
...@@ -30,8 +30,6 @@ public class SqlTestController { ...@@ -30,8 +30,6 @@ public class SqlTestController {
private static final Logger logger = Logger.getLogger(ExceptionHandler.class); private static final Logger logger = Logger.getLogger(ExceptionHandler.class);
@PostMapping("executeSql") @PostMapping("executeSql")
public Rjx doExecute(String jdbcUrl, String username, String password, String sql, String parameters) { public Rjx doExecute(String jdbcUrl, String username, String password, String sql, String parameters) {
int queryTimeout = 60; int queryTimeout = 60;
...@@ -51,6 +49,7 @@ public class SqlTestController { ...@@ -51,6 +49,7 @@ public class SqlTestController {
}.start(); }.start();
try { try {
String driverClass = null; String driverClass = null;
String validationQuery = "select 1";
if(jdbcUrl.toLowerCase().contains("jtds")) { if(jdbcUrl.toLowerCase().contains("jtds")) {
driverClass = "net.sourceforge.jtds.jdbc.Driver"; driverClass = "net.sourceforge.jtds.jdbc.Driver";
} else if(jdbcUrl.contains("mysql")) { } else if(jdbcUrl.contains("mysql")) {
...@@ -75,11 +74,11 @@ public class SqlTestController { ...@@ -75,11 +74,11 @@ public class SqlTestController {
dataSource.setPoolPreparedStatements(true); dataSource.setPoolPreparedStatements(true);
dataSource.setMaxPoolPreparedStatementPerConnectionSize(20); dataSource.setMaxPoolPreparedStatementPerConnectionSize(20);
dataSource.setQueryTimeout(queryTimeout); dataSource.setQueryTimeout(queryTimeout);
dataSource.setValidationQuery(validationQuery);
dataSource.setValidationQueryTimeout(queryTimeout);
dataSource.init(); dataSource.init();
JdbcTemplate jdbcTemplate = new JdbcTemplate(); JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource); jdbcTemplate.setDataSource(dataSource);
jdbcTemplate.setQueryTimeout(queryTimeout);
List<Object> argList = new ArrayList<Object>(); List<Object> argList = new ArrayList<Object>();
if(StringUtil.isNotBlank(parameters)) { if(StringUtil.isNotBlank(parameters)) {
...@@ -103,7 +102,6 @@ public class SqlTestController { ...@@ -103,7 +102,6 @@ public class SqlTestController {
List<?> list = jdbcTemplate.execute(new CallableStatementCreator() { List<?> list = jdbcTemplate.execute(new CallableStatementCreator() {
public CallableStatement createCallableStatement(final Connection con) throws SQLException { public CallableStatement createCallableStatement(final Connection con) throws SQLException {
final CallableStatement cs = con.prepareCall(sql); final CallableStatement cs = con.prepareCall(sql);
cs.setQueryTimeout(queryTimeout);
if(args.length >0) { if(args.length >0) {
for(int i = 0; i < args.length; i++) { for(int i = 0; i < args.length; i++) {
cs.setObject(i+1, args[i]); cs.setObject(i+1, args[i]);
...@@ -144,6 +142,7 @@ public class SqlTestController { ...@@ -144,6 +142,7 @@ public class SqlTestController {
}); });
return Rjx.jsonOk().setData(list); return Rjx.jsonOk().setData(list);
} catch (Throwable e) { } catch (Throwable e) {
e.printStackTrace();
return Rjx.jsonOk().setMessage(ExceptionHandler.toStackString(e).toString()); return Rjx.jsonOk().setMessage(ExceptionHandler.toStackString(e).toString());
} finally { } finally {
dataSource.close(); dataSource.close();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment