> 文章列表 > h2数据库访问

h2数据库访问

h2数据库访问

什么是.h2数据库

H2数据库是一个java语言编写的嵌入式关系型数据库, 采用标准的SQL和JDBC API操作数据,具有高性能、可嵌入性、小巧的特点。H2也提供了纯内存数据库和磁盘文件数据库两种模式,还支持分布式访问功能。同时,H2支持的功能非常强大,包括触发器、存储过程、函数、全文搜索等高级特性。

如何访问.h2数据库?

要访问h2数据库,需要先进行创建,具体过程可以使用h2官网提供的h2console或者h2的命令行工具访问。 通常情况下,我们需要在代码中引入h2的jdbc驱动,并使用jdbc API建立连接,接着就可以写出对h2数据库的各种增删改查操作。

使用Java JDBC API访问.h2数据库

JDBC API是java标准库中提供的一套用于访问关系型数据库的API,其中大部分操作都可以在H2上面执行。下面我们看一个简单的Java程序示例,展示如何使用JDBC API访问h2数据库,示例代码如下所示:

// 加载H2数据库驱动 Class.forName("org.h2.Driver"); // 获取数据库连接 Connection conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", ""); // 创建表 Statement st = conn.createStatement(); st.executeUpdate("CREATE TABLE IF NOT EXISTS STUDENT(ID INT PRIMARY KEY, NAME VARCHAR(255) NOT NULL)"); // 添加数据 PreparedStatement pst = conn.prepareStatement("INSERT INTO STUDENT(ID, NAME) values(?, ?)"); pst.setInt(1, 1); pst.setString(2, "张三"); pst.execute(); // 查询数据 ResultSet rs = st.executeQuery("SELECT * FROM STUDENT"); while(rs.next()){ System.out.println(rs.getString("NAME")); } // 关闭连接 conn.close();

使用Spring JDBC访问.h2数据库

Spring框架提供了简化了JDBC API的操作,通过Spring的JdbcTemplate类,可以更加方便地访问h2数据库。Spring JDBC API区别于JDBC API,它可以自动处理资源的开关,建立连接并维持所有与该连接相关的资源,例如Statement和ResultSet,还可以自动转换结果集为JavaBean等功能,大大简化了数据库交互的代码量。下面是一个简单的Java程序示例,展示如何使用Spring JDBC访问h2数据库:。

// 首先要配置数据源 BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("org.h2.Driver"); dataSource.setUrl("jdbc:h2:~/test"); dataSource.setUsername("sa"); dataSource.setPassword(""); // 建立JdbcTemplate实例 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); // 创建表 jdbcTemplate.execute("CREATE TABLE IF NOT EXISTS STUDENT(ID INT PRIMARY KEY, NAME VARCHAR(255) NOT NULL)"); // 添加数据 jdbcTemplate.update("INSERT INTO STUDENT(ID, NAME) values(?, ?)", 1, "张三"); // 查询数据 List students = jdbcTemplate.query("SELECT * FROM STUDENT", new BeanPropertyRowMapper(Student.class)); for(Student student : students){ System.out.println(student.getName()); }

如何在Java程序中使用Hibernate ORM框架访问.h2数据库?

Hibernate是一套优秀的ORM框架,提供了面向对象的查询语言,能够将Java对象自动映射到关系型数据库中,广泛应用于企业级应用的开发中。Hibernate同时支持多种数据库,其中也包括h2数据库。下面我们来看一个简单的示例,展示如何使用Hibernate ORM框架访问h2数据库:

// 首先要引入Hibernate依赖 org.hibernate hibernate-core 5.4.22.Final // 然后在Hibernate配置文件中配置数据源 org.h2.Driver jdbc:h2:~/test sa ...... // 定义实体类,包含映射关系 @Entity @Table(name = "STUDENT") public class Student { @Id private Long id; @Column(name = "name") private String name; // setter 和 getter 方法 } // 创建SessionFactory SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); // 获取Session Session session = sessionFactory.openSession(); // 添加数据 Transaction trans = session.beginTransaction(); Student student = new Student(); student.setId(1L); student.setName("张三"); session.save(student); trans.commit(); // 查询数据 Query query = session.createQuery("from Student where id = ?"); query.setParameter(0, 1); Student result = (Student)query.getSingleResult(); System.out.println(result.getName());

结语

h2数据库是性能优秀的嵌入式关系型数据库。在Java开发中可以使用JDBC API、Spring JDBC或者Hibernate ORM框架来访问H2数据库。比较灵活的H2数据库,可以提高开发效率,减少运维工作。了解h2数据库的访问方法对于开发人员来说是非常有利的,希望本文可以为开发者提供参考。