###
在前台页面配置sql的数据库连接,然后将其数据导入到数据库中,页面上的配置如下图所示
前端页面代码如下:
</style>
<script type="text/javascript"
src="${ctx}/assets/lib/jquery/1.9.1/jquery.js"></script>
<script type="text/javascript">
function dochange(dbType) {
$.get("${ctx}/console/install/getDbInfo", {
"DbType" : dbType
}, function(data) {
for (var key in data) {
$("#" + key).val(data[key]);
}
})
}
$(function() {
dochange();
$("#impl").click(function() {
var formData = $("#form1").serialize();
console.log(formData);
$.post("${ctx}/console/install/impl", formData, function(data) {
alert(data);
})
})
})
</script>
</head>
<body style="background-color: #D2D6DE; padding: 50px">
<h1 align="center">
<b>fsm5安装向导</b>
</h1>
<div
style="width: 750px; height: 400px; margin: 0 auto; background-color: #ffffff;">
<div class="box">
<div class="box-header">
<h3 class="box-title">fsm5安装:填写数据库连接信息。</h3>
</div>
<hr>
<div class="box-body">
<div class=>
<h3 class="box-title">请在下方填写您的数据库连接信息。如果您不确定,请联系您的服务提供商。</h3>
</div>
<form name="form1" id="form1">
<table style="width:100%">
<tr>
<td>选择数据库:</td>
<td><select size="1" name="DbType" id="DbType"
onChange="dochange(this.value)">
<option value="mysql">mysql</option>
<option value="oracle">oracle</option>
<option value="sqlserver">sqlserver</option>
<option value="dm">dm</option>
</select></td>
<td>选择你想用的数据库</td>
</tr>
<tr>
<td>数据库驱动:</td>
<td><input type="text" id="Driver" name="Driver" value=""></td>
<td>您的数据库驱动是?</td>
</tr>
<tr>
<td>数据库连接:</td>
<td><input type="text" id="Url" name="Url" value=""></td>
<td>您的数据库连接是?</td>
</tr>
<tr>
<td>用户名:</td>
<td><input type="text" id="User" name="User" value=""></td>
<td>您的数据库用户名?</td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" id="Password" name="Password"
value=""></td>
<td>您的数据库密码是?</td>
</tr>
</table>
</form>
<br>
<br>
</div>
<hr>
<!-- /.box-body -->
<div id="footer" style="padding-right: 5px">
<a class="you1"><input type="submit" name="submit" id="impl"
class="you" value="初始化数据"
style="width:80px; height:30px; background-color: #337ab7;color: #ffffff;"></a>
</div>
</div>
</body>
后台代码如下:
package com.code.controller;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.configuration.PropertiesConfiguration;
import com.code.core.MyConfig;
import com.code.util.SqlImp;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
public class InstallController extends Controller {
public void index() {
if(MyConfig.installed){
renderText("已经初始化完成");
return;
}
render("install.html");
}
public void getDbInfo() {
Map<String, String> dbInfo = new HashMap<String, String>();
try {
PropertiesConfiguration myconfig = new PropertiesConfiguration("myconfig.properties");
String strDbType = getPara("DbType");
if (StrKit.isBlank(strDbType)) {
strDbType = myconfig.getString("db");
}
dbInfo.put("DbType", strDbType);
dbInfo.put("Driver", myconfig.getString(strDbType + "Driver"));
dbInfo.put("Url", myconfig.getString(strDbType + "Url"));
dbInfo.put("User", myconfig.getString(strDbType + "User"));
dbInfo.put("Password", myconfig.getString(strDbType + "Password"));
} catch (Exception e) {
e.printStackTrace();
}
renderJson(dbInfo);
}
public void impl() {
String msg = "数据库脚本初始化成功,请重启中间件进入系统";
try {
PropertiesConfiguration myconfig = new PropertiesConfiguration("myconfig.properties");
String strDbType = getPara("DbType");
String strDriver = getPara("Driver");
String strUrl = getPara("Url");
String strUser = getPara("User");
String strPassword = getPara("Password");
String str = SqlImp.exec(strDbType,strDriver,strUrl,strUser,strPassword);
if (StrKit.notBlank(str)) {
msg = str;
}
myconfig.setProperty("db", strDbType);
myconfig.setProperty(strDbType + "Driver", strDriver);
myconfig.setProperty(strDbType + "Url", strUrl);
myconfig.setProperty(strDbType + "User", strUser);
myconfig.setProperty(strDbType + "Password", strPassword);
myconfig.save();
} catch (Exception e) {
msg = "操作失败";
e.printStackTrace();
}
renderText(msg);
}
}
对应的数据库连接如下:
db=sqlserver
dmDriver = dm.jdbc.driver.DmDriver
dmUrl = jdbc:dm://localhost:5236/fsm4j
dmUser = fsm4j
dmPassword =123456789sqlserverDriver =net.sourceforge.jtds.jdbc.Driver
sqlserverUrl =jdbc:jtds:sqlserver://localhost:1433;DatabaseName=fsm5
sqlserverUser =sa
sqlserverPassword =123456oracleDriver = oracle.jdbc.driver.OracleDriver
oracleUrl = jdbc:oracle:thin:@localhost:1521:xe
oracleUser = fsm4j
oraclePassword = fsm4jmysqlDriver = com.mysql.jdbc.Driver
mysqlUrl = jdbc:mysql://192.168.5.231/fsm4j?zeroDateTimeBehavior=convertToNull
mysqlUser = root
mysqlPassword =passworddevMode = true
