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.Driver
url : jdbc: h2: file: ~/.h2/test;AUTO_SERVER=TRUE
username : sa
password : 123456
h2 :
console :
enabled : true
path : /h2
settings :
web-allow-others : false