欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

简单的H2数据库工具类,h2工具类,package db;i

来源: javaer 分享于  点击 16959 次 点评:202

简单的H2数据库工具类,h2工具类,package db;i


package db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import java.util.logging.Level;import java.util.logging.Logger;import org.h2.tools.DeleteDbFiles;public class DbUtil {    private static Connection myConnection = null;    static {        try {            Class.forName("org.h2.Driver");        } catch (ClassNotFoundException ex) {            Logger.getLogger(DbUtil.class.getName()).log(Level.SEVERE, null, ex);        }    }    public static void setupConn(String theDbPath) throws SQLException {        if(null == myConnection || myConnection.isClosed()) {            myConnection = DriverManager.getConnection("jdbc:h2:"+theDbPath);        }    }    public static Statement getStatement() throws SQLException {        if(null==myConnection || myConnection.isClosed()) {            SQLException ex = new SQLException("No valid database connection!");            Logger.getLogger(DbUtil.class.getName()).log(Level.SEVERE, null, ex);            throw ex;        }        return myConnection.createStatement();    }    public static void closeConn() throws SQLException {        myConnection.close();    }    public static void setupDB(String theDbPath) throws SQLException  {        setupConn(theDbPath);        runScript("init.sql");    }    public static void runScript(String thePath) throws SQLException {        Statement stat = getStatement();        stat.execute("runscript from '"+thePath+"'");        stat.close();    }    public static void resetDB(String theDbPath) throws Exception {        // to separate the dbname from the path        int lastSlash = theDbPath.lastIndexOf('/');        DeleteDbFiles.execute(theDbPath.substring(0,lastSlash),                               theDbPath.substring(lastSlash),                               true);        setupDB(theDbPath);    }}
相关栏目:

用户点评