如何用Java代码后台启动H2数据库的内存模式?有知道的吗?

 我来答
取个名都好难_
推荐于2016-02-24 · TA获得超过5.4万个赞
知道大有可为答主
回答量:1.5万
采纳率:94%
帮助的人:2814万
展开全部
package test;   
  
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 = "9094";   
    private String dbDir = "./h2db/sample";   
    private String user = "zhoujiang";   
    private String password = "123456";   
  
    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());   
            // TODO Auto-generated catch block   
            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("jdbc:h2:" + 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==");   
    }   
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式