📄 admindatabase.java
字号:
/* * 作者: 胡李青 * qq: 31703299 * Copyright (c) 2007 huliqing * 主页 http://www.tbuy.biz/ * 你可以免费使用该软件,未经许可请勿作用于任何商业目的,如有技术问题请与本人联系! */package biz.tbuy.bbs.bean;import biz.tbuy.common.Constants;import biz.tbuy.common.InitDatabase;import biz.tbuy.common.Utils;import biz.tbuy.common.logs.Elog;import java.io.IOException;import java.sql.PreparedStatement;import java.sql.Statement;import javax.faces.context.ExternalContext;import javax.faces.context.FacesContext;import javax.servlet.ServletContext;import org.w3c.dom.*;import javax.xml.parsers.*;import org.xml.sax.SAXException;/** * @deprecated 已经作废 * @author huliqing * <p><b>qq:</b>31703299 * <p><b>E-mail:</b><a href="mailto:huliqing.cn@gmail.com">huliqing.cn@gmail.com</a> * <p><b>Homepage:</b><a href="http://www.tbuy.biz/">http://www.tbuy.biz/</a> */public class AdminDatabase extends BaseBean{ private String driver = "com.mysql.jdbc.Driver"; private String url = "jdbc:mysql://localhost:3306/test"; private String user = "dbname"; private String password = "dbpassword"; /** Creates a new instance of DatabaseBean */ public AdminDatabase () { } public String createDatabase() { FacesContext fc = getFacesContext(); ExternalContext ec = fc.getExternalContext(); ServletContext sc = (ServletContext)ec.getContext(); String itemsPath = sc.getRealPath("/") + "WEB-INF/config/bbs/database.xml"; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; Document doc = null; Element root = null; String db_name = null; try { builder = factory.newDocumentBuilder(); doc = builder.parse(itemsPath); root = doc.getDocumentElement(); NodeList database = root.getElementsByTagName("database"); Element names = (Element)database.item(0); db_name = names.getElementsByTagName("name").item(0).getTextContent(); } catch (SAXException saxe) { Elog.log("SAXException:" + saxe.getMessage()); } catch (ParserConfigurationException pce) { Elog.log("XML:" + pce.getMessage()); } catch (IOException ioe) { Elog.log("XML:" + ioe.getMessage()); } String sql = "create database " + db_name + " DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci"; InitDatabase myData = new InitDatabase(driver, url, user, password); try { PreparedStatement ps = myData.PrepareStatement(sql); if (ps.executeUpdate() > 0) { Utils.addInfoMessage(getBundle(), db_name); ps.executeUpdate("use " + db_name); Utils.addInfoMessage(getBundle(), db_name); Statement statement = myData.createStatement(); try { NodeList tables = root.getElementsByTagName("table"); int[] resultInt; String[] resultName = new String[tables.getLength()]; for (int i = 0; i < tables.getLength(); i++) { Element table = (Element)tables.item(i); String table_name = table.getElementsByTagName("name").item(0).getTextContent(); String table_sql = table.getElementsByTagName("sql").item(0).getTextContent(); resultName[i] = table_name; statement.addBatch(table_sql); } resultInt = statement.executeBatch(); for (int i = 0; i < resultInt.length; i++) { if (resultInt[i] != -2 && resultInt[i] != -3) { Utils.addInfoMessage(getBundle(), resultName[i]); } else { Utils.addErrorMessage(getBundle(), resultName[i]); } } } catch (Exception ee) { Elog.log(ee.getMessage()); Utils.addInfoMessage(getBundle(), "tableXML"); } } else { Utils.addErrorMessage(getBundle(), "error"); } } catch (Exception e) { Elog.log(e.getMessage()); Utils.addFatalMessage(getBundle(), "error"); } finally { myData.close(); } return Constants.OUT_SUCCESS; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -