jeecms oracle v5_jeecms v5 系统安装设计和实现以及问题

/**

*安装类

*

*@authoradmin

*

*/

publicclassInstall {

publicstaticvoiddbXml(String fileName, String dbHost, String dbPort,

String dbName, String dbUser, String dbPassword)throwsException {

String s = FileUtils.readFileToString(newFile(fileName));

s = s.replaceFirst("DB_HOST", dbHost);

s = s.replaceFirst("DB_PORT", dbPort);

s = s.replaceFirst("DB_NAME", dbName);

s = s.replaceFirst("DB_USER", dbUser);

s = s.replaceFirst("DB_PASSWORD", dbPassword);

FileUtils.writeStringToFile(newFile(fileName), s);

}

publicstaticConnection getConn(String dbHost, String dbPort,

String dbName, String dbUser, String dbPassword)throwsException {

Class.forName("com.mysql.jdbc.Driver").newInstance();

String connStr ="jdbc:mysql://"+ dbHost +":"+ dbPort +"/"+ dbName

+"?user="+ dbUser +"&password="+ dbPassword

+"&characterEncoding=GBK";

Connection conn = DriverManager.getConnection(connStr);

returnconn;

}

publicstaticvoidwebXml(String fromFile, String toFile)throwsException {

FileUtils.copyFile(newFile(fromFile),newFile(toFile));

}

/**

*创建数据库

*

*@paramdbHost

*@paramdbName

*@paramdbPort

*@paramdbUser

*@paramdbPassword

*@throwsException

*/

publicstaticvoidcreateDb(String dbHost, String dbPort, String dbName,

String dbUser, String dbPassword)throwsException {

Class.forName("com.mysql.jdbc.Driver").newInstance();;

String connStr ="jdbc:mysql://"+ dbHost +":"+ dbPort +"?user="

+ dbUser +"&password="+ dbPassword +"&characterEncoding=GBK";

Connection conn = DriverManager.getConnection(connStr);

Statement stat = conn.createStatement();

String sql ="drop database if exists "+ dbName;

stat.execute(sql);

sql ="create database "+ dbName

+" CHARACTER SET GBK";

stat.execute(sql);

stat.close();

conn.close();

}

publicstaticvoidchangeDbCharset(String dbHost, String dbPort,

String dbName, String dbUser, String dbPassword)throwsException {

Connection conn = getConn(dbHost, dbPort, dbName, dbUser, dbPassword);

Statement stat = conn.createStatement();

String sql ="ALTER DATABASE "+ dbName

+" CHARACTER SET GBK";

stat.execute(sql);

stat.close();

conn.close();

}

/**

*创建表

*

*@paramdbHost

*@paramdbName

*@paramdbPort

*@paramdbUser

*@paramdbPassword

*@paramsqlList

*@throwsException

*/

publicstaticvoidcreateTable(String dbHost, String dbPort, String dbName,

String dbUser, String dbPassword, List sqlList)

throwsException {

Connection conn = getConn(dbHost, dbPort, dbName, dbUser, dbPassword);

Statement stat = conn.createStatement();

for(String dllsql : sqlList) {

stat.addBatch(dllsql);

}

stat.executeBatch();

stat.close();

conn.close();

}

/**

*更新配置

*

*@paramdbHost

*@paramdbName

*@paramdbPort

*@paramdbUser

*@paramdbPassword

*@paramdomain

*@paramcxtPath

*@paramport

*@throwsException

*/

publicstaticvoidupdateConfig(String dbHost, String dbPort,

String dbName, String dbUser, String dbPassword, String domain,

String cxtPath, String port)throwsException {

Connection conn = getConn(dbHost, dbPort, dbName, dbUser, dbPassword);

Statement stat = conn.createStatement();

String sql ="update CORE_WEBSITE set DOMAIN='"+ domain +"'";

stat.executeUpdate(sql);

sql ="update CORE_GLOBAL set CONTEXT_PATH='"+ cxtPath +"',PORT="

+ port;

stat.executeUpdate(sql);

stat.close();

conn.close();

}

/**

*读取sql语句。“/*”开头为注释,“;”为sql结束。

*

*@paramfileName

*sql文件地址

*@returnlistofsql

*@throwsException

*/

publicstaticList readSql(String fileName)throwsException {

BufferedReader br =newBufferedReader(newInputStreamReader(

newFileInputStream(fileName), Constants.ENCODING));

List sqlList =newArrayList();

StringBuilder sqlSb =newStringBuilder();

String s =null;

while((s = br.readLine()) !=null) {

if(s.startsWith("/*")) {

continue;

}

if(s.endsWith(";")) {

sqlSb.append(s);

sqlSb.setLength(sqlSb.length() - 1);

sqlList.add(sqlSb.toString());

sqlSb.setLength(0);

}else{

sqlSb.append(s);

}

}

br.close();

returnsqlList;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值