@RequestMapping("/test/dataSourceConnection")
public ToClientViewModel<String> testDataSourceConnection(@ModelAttribute FromClientViewModel fromModl){
ToClientViewModel<String> testResult = new ToClientViewModel<>();
@SuppressWarnings("unchecked")
Map<String, Object> map = (Map<String, Object>) JSON
.parse(Optional.ofNullable(fromModl).map(e -> fromModl.getData()).orElse(""));
String dataBaseType = (String)map.get("dataBaseType");
String ip = (String)map.get("ip");
String port = (String)map.get("port");
String dateBaseName = (String)map.get("dateBaseName");
String userName = (String)map.get("userName");
String password = (String)map.get("password");
Connection conn = null;
String dataSourceName = null;
try {
switch (dataBaseType){
case "1":
dataSourceName = "com.mysql.jdbc.Driver";
dataBaseType = "mysql";
break;
case "2":
dataSourceName = "oracle.jdbc.driver.OracleDriver";
dataBaseType = "oracle";
break;
case "3":
dataSourceName = "dm.jdbc.driver.DmDriver";
dataBaseType = "dm";
break;
case "4":
dataSourceName = "com.uxsino.uxdb.Driver";
dataBaseType = "uxdb";
}
Class.forName(dataSourceName);
//Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:"+dataBaseType+"://"+ip+":"+port+"/"+dateBaseName;
conn= DriverManager.getConnection(url,userName,password);
if (conn == null){
testResult.setData("連接配接失敗");
testResult.setStatus(-1);
testResult.setMsg("連接配接失敗");
return testResult;
}else {
try {
conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
testResult.setData("連接配接成功");
testResult.setStatus(200);
testResult.setMsg("連接配接成功");
return testResult;
}
} catch (Exception e) {
e.printStackTrace();
testResult.setStatus(-1);
testResult.setMsg("連接配接失敗");
return testResult;
}
}