H2数据库使用

Posted 清_澈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H2数据库使用相关的知识,希望对你有一定的参考价值。

官网:

H2 Database Enginehttp://www.h2database.com/html/main.html

h2database Maven配置

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.210</version>
</dependency>

建库

windows系统下点击h2/bin/h2.bat启动控制台应用程序

基本使用代码

package com;


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

/**
 * @Description: H2内嵌数据库的基本使用
 * @author: 
 */
public class H2Test 

    /**
     * 以嵌入式(本地)连接方式连接H2数据库
     */
    private static final String JDBC_URL = "jdbc:h2:~/test";

    /**
     * 使用TCP/IP的服务器模式(远程连接)方式连接H2数据库(推荐)
     */
    // private static final String JDBC_URL = "jdbc:h2:tcp://10.35.14.122/C:/H2/user";

    // 数据库管理员用户名,用户名不区分大小写
    private static final String USER = "sa";
    // 数据库管理员用户名
    private static final String PASSWORD = "";
    //数据库驱动
    private static final String DRIVER_CLASS = "org.h2.Driver";

    public static void main(String[] args) throws Exception 
        // TODO Auto-generated method stub
        Class.forName(DRIVER_CLASS);

        // 数据库连接,如果目录下没有指定数据库,会自动生成
        Connection conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);

        // 获取数据库操作对象statement
        Statement statement = conn.createStatement();

        // 建库
        statement.execute("DROP TABLE IF EXISTS USER_INF");
        // 建表
        statement.execute("CREATE TABLE USER_INF(id INTEGER PRIMARY KEY, name VARCHAR(100), sex VARCHAR(2))");
        // 插入数据操作
        statement.executeUpdate("INSERT INTO USER_INF VALUES(1, 'tom1', '男') ");
        statement.executeUpdate("INSERT INTO USER_INF VALUES(2, 'jack', '女') ");
        statement.executeUpdate("INSERT INTO USER_INF VALUES(3, 'marry', '男') ");
        statement.executeUpdate("INSERT INTO USER_INF VALUES(4, 'lucy', '男') ");
        // 查询数据
        ResultSet resultSet = statement.executeQuery("select * from USER_INF");

        // 遍历打印数据
        while (resultSet.next()) 
            System.out.println(
                    resultSet.getInt("id") + ", "
                            + resultSet.getString("name") + ", "
                            + resultSet.getString("sex"));
        
        // 关闭数据库连接
        statement.close();
        conn.close();
    


H2数据库连接池的基本使用 

package com.h2;

import org.h2.jdbcx.JdbcConnectionPool;
import java.sql.*;

/**
 * @Description: H2数据库连接池的基本使用
 * @author 
 * @creat 
 */
public class H2PoolTest 

    private static final String JDBC_URL = "jdbc:h2:tcp://localhost/~/test";

    // 数据库管理员用户名,用户名不区分大小写
    private static final String USER = "sa";
    // 数据库管理员用户名
    private static final String PASSWORD = "";

    public static void main(String[] args) throws SQLException 

        // JDBC连接池
        JdbcConnectionPool pool = JdbcConnectionPool.create(JDBC_URL, USER, PASSWORD);
        // 建立连接超时时间
        pool.setLoginTimeout(10000);
        // 建立连接最大个数
        pool.setMaxConnections(100);

        Connection conn = pool.getConnection();
        // 获取数据库操作对象statement
        Statement statement = conn.createStatement();

        // 查询数据
        ResultSet resultSet = statement.executeQuery("select * from USER_INF");
        // 遍历打印数据
        while (resultSet.next()) 
            System.out.println(
                    resultSet.getInt("id") + ", "
                            + resultSet.getString("name") + ", "
                            + resultSet.getString("sex"));
        
        // 释放资源
        statement.close();
        // 关闭连接
        conn.close();
    

 

以上是关于H2数据库使用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 H2 嵌入式数据库创建 H2 内存数据库

org.h2.jdbc.JdbcSQLException:在使用 H2 数据库进行测试期间未找到列“Id”

从 C# 使用 H2 数据库

springboot集成h2

H2数据库使用

H2数据库使用