java 简单的H2数据库工具类
2018-07-20 来源:open-open
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);
}
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
最新资讯
热门推荐