H2数据库
H2数据库
- H2是一个Java编写的关系型数据库,它可以被嵌入Java应用程序中使用,或者作为一个单独的数据库服务器运行。
- 纯Java编写,不受平台的限制;
- 只有一个jar文件,适合作为嵌入式数据库使用;
- h2提供了一个十分方便的web控制台用于操作和管理数据库内容;
- 功能完整,支持标准SQL和JDBC。麻雀虽小五脏俱全;
- 支持内嵌模式、服务器模式和集群。
- 下载安装可以去官网下载:官网连接:官网链接
连接
- 下载后解压打开
- 输入用户名密码
AUTO_SERVER =TRUE
多个进程可以访问同一个数据库,而不必手动启动服务器。无论数据库是否已经打开,您都可以使用相同的数据库网址。
3. 出现这个就是连接成功,任务栏会出现黄色的图标:
H2数据库单元测试:
- PDM生成SQL
- 数据导入
- SQL导出
- 高级设置
- 选择路径
配置
- 建testresources目录,导入SQL:先从单元测试的目录文件资源去找数据库连接文件 否则会回去找resources目录下的数据库连接文件
- 导入SQL时要删除 USING BTREE
- 配置jdbc(修改drver,url)
driver=org.h2.Driver
url=jdbc:h2:mem:default;MODE=MySQL;INIT=RUNSCRIPT FROM 'classpath:uol818.sql'
- 修改工具类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;
}
}
}
- 添加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>