H2数据库-简介
H2 是开源的轻量级Java 数据库。它可以嵌入Java 应用程序中或以客户端- 服务器模式运行。
H2 数据库主要可以配置为作为内存数据库运行,这意味着数据将不会持久存储在磁盘上。
由于具有嵌入式数据库,因此它不用于生产开发,而主要用于开发和测试。可以在嵌入式模式或服务器模式下使用此数据库。H2数据库的主要功能:
➢ 极快的开源JDBC API;
➢ 在嵌入式和服务器模式下可用;
➢ 基于浏览器的控制台应用程序;
➢ 提供事务支持(已提交读),两阶段提交的多个连接,表级锁定;
➢ 基于成本的优化程序,使用遗传算法进行复杂查询(零管理);
➢ 支持加密数据库(AES),SHA- 256 密码加密,加密功能和SSL;
➢ 包含可滚动和可更新的结果集支持,大结果集,外部结果排序,函数可以返回结果集。
H2数据库-主要特点
➢ 一个非常快的数据库引擎。
➢ H2是开源的,并用Java 编写。
➢ 支持标准的SQL和JDBC API,也可以使用PostgreSQL ODBC驱动程序。
➢ 具有嵌入式和服务器模式。
➢ H2支持集群和多版本并发。
➢ 具有强大的安全功能。
➢ 占用空间小- jar文件大小约为1.5 MB。
简单案例
< dependency> < groupId> com.h2database</ groupId> < artifactId> h2</ artifactId> < version> RELEASE</ version> < scope> compile</ scope>
</ dependency>
import java. sql. Connection ;
import java. sql. DriverManager ;
import java. sql. ResultSet ;
import java. sql. Statement ;
public class TestH2 { private static final String JDBC_URL_LOCAL = "jdbc:h2:file:~/.h2/test" ; private static final String USER = "sa" ; private static final String PASSWORD = "123456" ; private static final String DRIVER_CLASS = "org.h2.Driver" ; public static void main ( String [ ] args) throws Exception { Class . forName ( DRIVER_CLASS) ; Connection conn = DriverManager . getConnection ( JDBC_URL_LOCAL, USER, PASSWORD) ; Statement statement = conn. createStatement ( ) ; statement. execute ( "DROP TABLE IF EXISTS USER_INFO" ) ; statement. execute ( "CREATE TABLE USER_INFO(id INTEGER PRIMARY KEY ,name VARCHAR(50), sex VARCHAR(2))" ) ; statement. executeUpdate ( "INSERT INTO USER_INFO VALUES(1, '张丹', '男') " ) ; statement. executeUpdate ( "INSERT INTO USER_INFO VALUES(2, '李云', '女') " ) ; statement. executeUpdate ( "INSERT INTO USER_INFO VALUES(3, '赵武', '男') " ) ; statement. executeUpdate ( "INSERT INTO USER_INFO VALUES(4, '林少三', '男') " ) ; ResultSet resultSet = statement. executeQuery ( "select * from USER_INFO" ) ; while ( resultSet. next ( ) ) { System . out. println ( resultSet. getInt ( "id" ) + ", " + resultSet. getString ( "name" ) + ", " + resultSet. getString ( "sex" ) ) ; } statement. close ( ) ; conn. close ( ) ; }
}
springboot整合H2
spring : datasource : driver-class-name : org.h2.Driverurl : jdbc: h2: file: ~/.h2/test;AUTO_SERVER=TRUE
username : sapassword : 123456 h2 : console : enabled : true path : /h2settings : web-allow-others : false