minicube

导航

H2

springboot添加依赖

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>

application添加配置

# DataSource Config
spring:
  datasource:
    driver-class-name: org.h2.Driver
    schema: classpath:db/schema.sql #,每次启动程序,程序都会运行schema.sql文件,对数据库的数据操作
    data: classpath:db/data.sql #,每次启动程序,程序都会运行data.sql文件,对数据库的数据操作
    url: jdbc:h2:file:./db/midb #配置h2数据库的连接地址
    username: sa
    password: sa
  h2:
    console:
      enabled: true #开启web console功能

1.数据库连接的jdbc url

h2分嵌入模式和服务模式,根据不同的模式和情况。连接数据库jdbc url的写法不同

连接内嵌模式的数据库

"jdbc:h2:file:D:/test"  连接自定目录下的指定数据库
"jdbc:h2:~/test" 连接默认目录下的指定数据库

连接内存模式的数据库

jdbc:h2:mem:test

连接server模式的数据库

jdbc:h2:tcp://localhost/~/test

ssl连接数据库

jdbc:h2:ssl://localhost/~/test

连接压缩文件内的数据库

jdbc:h2:zip:D:/test.zip!/test

2.h2自带的连接池

JdbcConnectionPool cp = JdbcConnectionPool.create(url,username,password);
通过连接池获取连接
Connection conn = cp.getConnection();

note:
默认连接池是初始10个连接

3.嵌入模式数据库管理

通过代码启动数据库服务
Server server = Server.createTcpServer();
server.start();

关闭数据库服务
server.stop();

.数据库注销
server.shutdown();

4.通过h2自带的方法跟cvs文件读写数据

1.通过代码读取csv的数据

ResultSet rs = Csv.getInstance().read(fileName, null, null);
ResultSetMetaData meta = rs.getMetaData();
while (rs.next()) {
    for (int i = 0; i < meta.getColumnCount(); i++) {
        System.out.println(meta.getColumnLabel(i + 1) + ":"	+ rs.getString(i + 1));
    }
    System.out.println();
}

rs.close();

通过代码写csv数据

SimpleResultSet rs = new SimpleResultSet();
rs.addColumn("name", Types.VARCHAR, 255, 0);
rs.addColumn("email", Types.VARCHAR, 255, 0);
rs.addRow("陈盈", "yingchen@midea.com.cn");
rs.addRow("邹嘉欣", "zoujx@midea.com.cn");
Csv.getInstance().write(fileName, rs, null);

2.使用h2自带cvs函数通过sql语句实现

csvread()实现读csv文件
例:SELECT * FROM CSVREAD('d:/test.csv');

CSVWRITE()实现写csv文件
例:CALL CSVWRITE('d:/test.csv', 'SELECT * FROM TEST');

3.根据cvs文件创建h2数据库表

CREATE TABLE TEST AS SELECT * FROM CSVREAD('test.csv');//csv文件数据创建test表 
CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255)) AS SELECT * FROM CSVREAD('test.csv');/创建test表,csv文件相应的列插入到test表相应的字段

5.H2数据库备份

1.备份sql脚本

运行

java -cp h2*.jar org.h2.tools.Script -url jdbc:h2:~/test -user sa -script test.zip -options compression zip

2.备份数据库文件

方法1:进入h2 shell 命令行模式

java -cp h2*.jar org.h2.tools.Shell

方法2:在shell命令行环境下执行备份命令

BACKUP TO 'backup.zip'

posted on 2024-08-27 10:01  minicube  阅读(31)  评论(0编辑  收藏  举报