H2数据库在JAVA(JDBC)中的基本使用

(一)H2文件结构:

————————————————————————————————

-h2
  -bin
    h2-1.1.116.jar //H2主文件(驱动也在里面)
    h2.bat         //H2控制台启动程序带黑屏窗口(for Windows)
    h2.sh          //H2控制台启动程序(for Linux)
    h2w.bat        //H2控制台启动程序不带黑屏窗口(for Windows)
  +docs //文档文件夹(内有手册)
  +service
  +src  //开源的吗,带源代码
  build.bat
  build.sh
  build.xml

 

————————————————————————————————

(二)Eclipse/MyEclipse中引入H2驱动

在指定项目中右键 -> Peoperties -> Java Build Path -> Libraries -> Add External JARs -> 引入h2-1.1.116.jar

 

(三)使用内存模式(关闭后内容全部消失,速度非常快):

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class MenTest{ public void runInsertDelete(){ try{ String sourceURL="jdbc:h2:tcp://localhost/mem:testmemdb";//H2DB mem mode String user="sa"; String key=""; try{ Class.forName("org.h2.Driver");//HSQLDB Driver }catch(Exception e){ e.printStackTrace(); } Connection conn=DriverManager.getConnection(sourceURL,user,key);//把驱动放入连接 Statement stmt=conn.createStatement(); //创建一个 Statement 对象来将 SQL 语句发送到数据库。 //stmt.executeUpdate("DELETE FROM mytable WHERE name=/'NO.2/'"); //执行方法找到一个与 methodName 属性同名的方法,并在目标上调用该方法。 //stmt.execute("CREATE TABLE idtable(id INT,name VARCHAR(100));"); stmt.execute("INSERT INTO idtable VALUES(1,/'MuSoft/')"); stmt.execute("INSERT INTO idtable VALUES(2,/'StevenStander/')"); stmt.close(); conn.close(); }catch(SQLException sqle){ System.out.println("SQL ERROR!"); } } public void query(String SQL){ try{ String sourceURL="jdbc:h2:tcp://localhost/mem:testmemdb"; String user="sa"; String key=""; try{ Class.forName("org.h2.Driver"); }catch(Exception e){ e.printStackTrace(); } Connection conn=DriverManager.getConnection(sourceURL,user,key);//把驱动放入连接 Statement stmt=conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。 ResultSet rset=stmt.executeQuery(SQL);//执行方法找到一个与 methodName 属性同名的方法,并在目标上调用该方法。 while(rset.next()) { System.out.println(rset.getInt("id")+" "+rset.getString("name")); } rset.close(); stmt.close(); conn.close(); }catch(SQLException sqle){ System.err.println(sqle); } } public static void main(String args[]){ MenTest mt=new MenTest(); mt.runInsertDelete(); mt.query("SELECT * FROM idtable"); } }

 

(四)使用Embedded模式(Create,Insert,Delete...):

 

import java.sql.*; public class UpdateTest { public void runInsertDelete() { try { String sourceURL = "jdbc:h2:h2/bin/mydb";// H2 database String user = "sa"; String key = ""; try { Class.forName("org.h2.Driver");// H2 Driver } catch (Exception e) { e.printStackTrace(); } Connection conn = DriverManager.getConnection(sourceURL, user, key); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE mytable(name VARCHAR(100),sex VARCHAR(10))"); stmt.executeUpdate("INSERT INTO mytable VALUES('Steven Stander','male')"); stmt.executeUpdate("INSERT INTO mytable VALUES('Elizabeth Eames','female')"); stmt.executeUpdate("DELETE FROM mytable WHERE sex=/'male/'"); stmt.close(); conn.close(); } catch (SQLException sqle) { System.err.println(sqle); } } public static void main(String args[]) { new UpdateTest().runInsertDelete(); } }

 

(五)使用Embedded模式(Select):

 

import java.sql.*; public class SelectTest { public void query(String SQL) { try { String sourceURL = "jdbc:h2:h2/bin/mydb"; String user = "sa"; String key = ""; try { Class.forName("org.h2.Driver"); } catch (Exception e) { e.printStackTrace(); } Connection conn = DriverManager.getConnection(sourceURL, user, key); Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery(SQL); while (rset.next()) { System.out.println(rset.getString("name")+ " "+rset.getString("sex")); } rset.close(); stmt.close(); conn.close(); } catch (SQLException sqle) { System.err.println(sqle); } } public static void main(String args[]) { Test tt = new Test(); tt.query("select * from mytable"); } }

 

 

你可能感兴趣的:(JAVA-(B/S)-J2EE,JAVA-(C/S))