Java tutorial
package org.codehaus.mojo.dbupgrade.generic; import java.io.IOException; import java.io.InputStream; import java.sql.SQLException; import java.sql.Statement; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.io.IOUtils; import org.codehaus.mojo.dbupgrade.DBUpgradeException; import org.codehaus.mojo.dbupgrade.sqlexec.SQLExec; /* * Copyright 2000-2010 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ /** * Submit the resource to jdbc in one shot. Use this to execute SQL function/store procedure * @author dtran * */ public class DBUpgradeUsingSQLNoParser extends AbstractDBUpgrade { private String sqlResouceName; public DBUpgradeUsingSQLNoParser(String sqlResourceName) { this.sqlResouceName = sqlResourceName; } public void upgradeDB(SQLExec sqlexec, String dialect) throws DBUpgradeException { InputStream is = null; Statement statement = null; String sql = null; try { is = DBUpgradeUsingSQL.class.getClassLoader().getResourceAsStream(this.sqlResouceName); sql = IOUtils.toString(is); statement = sqlexec.getConnection().createStatement(); statement.setEscapeProcessing(false); if (statement.execute(sql)) { //we expect a false return since the execution has no result set throw new DBUpgradeException("Unable execute SQL Statement:" + sql); } } catch (IOException e) { throw new DBUpgradeException("Unable load SQL Statement from resource:" + sqlResouceName, e); } catch (SQLException e) { throw new DBUpgradeException("Unable execute SQL Statement:" + sql, e); } finally { DbUtils.closeQuietly(statement); } } public String toString() { return "DBUpgradeUsingSQLNoParser:" + sqlResouceName; } }