package org.test4j.module.database.dbop; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.test4j.module.database.dbop.ISqlSet; import org.test4j.module.database.utility.SqlRunner; import org.test4j.tools.commons.ExceptionWrapper; public class SqlSet implements ISqlSet { private List<String> list = new ArrayList<String>(); public void sql(String sql) { this.list.add(sql); } public void readFrom(String filename) { try { SqlRunner.instance.executeFromFile(filename); } catch (Exception e) { throw ExceptionWrapper.wrapWithRuntimeException(e); } } public void readFrom(File file) { try { SqlRunner.instance.executeFromStream(new FileInputStream(file)); } catch (Exception e) { throw ExceptionWrapper.wrapWithRuntimeException(e); } } public void readFrom(InputStream stream) { try { SqlRunner.instance.executeFromStream(stream); } catch (Exception e) { throw ExceptionWrapper.wrapWithRuntimeException(e); } } /** * 执行列表中的sql语句<br> * 执行完毕,列表不做清空,方便重用 */ public void execute() { for (String sql : list) { SqlRunner.instance.execute(sql); } } }