| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
xuanxu11
10年前发布

java 简单的H2数据库工具类

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);      }    }