且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

内存数据库H2使用

更新时间:2022-08-15 23:19:42

1)一个jar包,一个bat脚本:

内存数据库H2使用内存数据库H2使用

2)点击h2.bat:

内存数据库H2使用


3) 使H2数据库 可以远程连接:

内存数据库H2使用


4)java调用:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.h2.tools.Server;

public class H2Demo {
    private Server server;
    private String port = "8082";
    private String dbDir = "jdbc:h2:tcp://192.168.0.36/~/test";
    private String user = "sa";
    private String password = "";
    public void startServer() {
        try {
            System.out.println("正在启动h2...");
            server = Server.createTcpServer(
                    new String[] { "-tcpPort", port }).start();
        } catch (SQLException e) {
            System.out.println("启动h2出错:" + e.toString());
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }


    public void stopServer() {
        if (server != null) {
            System.out.println("正在关闭h2...");
            server.stop();
            System.out.println("关闭成功.");
        }
    }


    public void useH2() {
        try {
            Class.forName("org.h2.Driver");
            Connection conn = DriverManager.getConnection(dbDir,
                    user, password);
            Statement stat = conn.createStatement();
            // insert data
//            stat.execute("CREATE TABLE TEST(NAME VARCHAR)");
            stat.execute("INSERT INTO TEST VALUES('Hello World')");
            // use data
            ResultSet result = stat.executeQuery("select name from test ");
            int i = 1;
            while (result.next()) {
                System.out.println(i++ + ":" + result.getString("name"));
            }
            result.close();
            stat.close();
            conn.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


    public static void main(String[] args) {
        H2Demo h2 = new H2Demo();
//        h2.startServer();
        h2.useH2();
//        h2.stopServer();
        System.out.println("==END==");
    }
}