📜  H2数据库-选择(1)

📅  最后修改于: 2023-12-03 15:31:05.571000             🧑  作者: Mango

H2数据库-选择

简介

H2是一个开源的关系型数据库管理系统,完全采用Java编写,支持MySQL、PostgreSQL等多种数据库,提供了高性能、轻量、易于嵌入的特性,可以用于嵌入到应用中,也可以作为独立的数据库服务器。本文将介绍如何在Java项目中使用H2数据库。

安装

需要在应用程序中使用H2数据库,我们需要下载并导入h2-1.4.200.jar这个jar包,在classpath中配置,这个可以在官网 https://www.h2database.com/html/main.html 下载最新的版本。

使用

在Java中使用H2非常简单,首先我们需要引入依赖,然后配置数据源,最后就可以通过JDBC驱动来访问H2数据库了。

引入依赖

在Maven项目中,我们需要在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.200</version>
</dependency>
配置数据源

H2支持本地模式和服务器模式。在本地模式下,可以使用嵌入式数据源,而在服务器模式下,则需要启动H2服务。

嵌入式数据源

import org.h2.jdbcx.JdbcDataSource;

public class EmbedDataSource {

    public static DataSource getDataSource() {
        JdbcDataSource dataSource = new JdbcDataSource();
        dataSource.setURL("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MYSQL");
        dataSource.setUser("sa");
        dataSource.setPassword("");

        return dataSource;
    }

}

使用JdbcDataSource创建数据源,并配置相应的URL、用户名和密码即可完成配置。

服务器模式

我们可以通过以下方式启动一个H2服务器:

import org.h2.tools.Server;

public class ServerDemo {

    public static void main(String[] args) throws SQLException {
        Server server = Server.createTcpServer().start();
//      Server server = Server.createTcpServer("-tcpAllowOthers").start();
        System.out.println(server.getStatus());
        server.stop();
    }

}

运行以上代码即可启动一个H2服务器,通过jdbcTemplate访问相应的H2数据库即可。

使用JdbcTemplate

使用Spring框架中的JdbcTemplate,可以非常方便地访问H2数据库。

import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;

public class JdbcTemplateDemo {

    public static void main(String[] args) throws SQLException {
        // 配置数据源
        DataSource dataSource = EmbedDataSource.getDataSource();

        // 创建JdbcTemplate对象
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

        // 查询数据
        List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from user");
        for(Map<String, Object> map : list) {
            System.out.println(map);
        }
    }

}

以上代码使用了EmbedDataSource配置的嵌入式数据源,JdbcTemplate对象完成查询操作,并输出结果。

结论

该文介绍了H2数据库的基本知识和在Java项目中使用H2数据库的方法,相信您已经对H2数据库有了更深入的了解。在实际项目中,请根据你的实际需求来选择使用它。