📅  最后修改于: 2023-12-03 15:31:05.571000             🧑  作者: Mango
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数据库即可。
使用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数据库有了更深入的了解。在实际项目中,请根据你的实际需求来选择使用它。