H2数据库

H2数据库

  • H2是一个Java编写的关系型数据库,它可以被嵌入Java应用程序中使用,或者作为一个单独的数据库服务器运行。
  • 纯Java编写,不受平台的限制;
  • 只有一个jar文件,适合作为嵌入式数据库使用;
  • h2提供了一个十分方便的web控制台用于操作和管理数据库内容;
  • 功能完整,支持标准SQL和JDBC。麻雀虽小五脏俱全;
  • 支持内嵌模式、服务器模式和集群。
  • 下载安装可以去官网下载:官网连接:官网链接

连接

  1. 下载后解压打开
  2. 输入用户名密码

AUTO_SERVER =TRUE
多个进程可以访问同一个数据库,而不必手动启动服务器。无论数据库是否已经打开,您都可以使用相同的数据库网址。


3. 出现这个就是连接成功,任务栏会出现黄色的图标:

H2数据库单元测试:

  1. PDM生成SQL
  2. 数据导入
  3. SQL导出
    • 高级设置
    • 选择路径

配置

  1. 建testresources目录,导入SQL:先从单元测试的目录文件资源去找数据库连接文件 否则会回去找resources目录下的数据库连接文件
    • 导入SQL时要删除 USING BTREE
  2. 配置jdbc(修改drver,url)
driver=org.h2.Driver
url=jdbc:h2:mem:default;MODE=MySQL;INIT=RUNSCRIPT FROM 'classpath:uol818.sql'
  1. 修改工具类DbUtil
package com.ychs.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.io.IOException;
import java.io.InputStream;

/**
 * copyright(c)2020 YCKJ.ALL rights Reserved
 * <p>
 * 描述:工具类
 *
 * @author lj
 * @version 1.0
 * @date
 */
public class Dbutil {
    private static Logger logger = LogManager.getLogger(Dbutil.class);
    private static SqlSessionFactory sqlSessionFactory = null;
    private static SqlSession session = null;

    // 静态的初始化块
    static {
        String resource = "mybatis-config.xml";
        InputStream inputStream = null;
        try {
            inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            logger.error("初始化数据库连接失败", e);
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {

                }
            }
        }
    }

    public static SqlSession getSession() {
        if (session != null) {
            return session;
        } else if (sqlSessionFactory != null) {
            session = sqlSessionFactory.openSession();
            return session;
        } else {
            return null;
        }
    }
}

  1. 添加H2依赖
<!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.4.200</version>
      <scope>test</scope>
 </dependency>
导入Junit5
<dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>5.5.2</version>
      <scope>test</scope>
</dependency>
<dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-runner</artifactId>
      <version>1.5.1</version>
</dependency>
原文地址:https://www.cnblogs.com/monster-jian/p/13518844.html