Spring Boot中H2数据库的嵌入与应用实例

在现代的软件开发中,Spring Boot因其便捷的配置和强大的功能而备受青睐。而H2数据库,作为一种轻量级的内存数据库,常被用于开发和测试阶段。本文将详细介绍如何在Spring Boot应用中嵌入H2数据库,并通过一个简单的实例来展示其使用方法。
一、嵌入H2数据库

  1. 添加依赖
    首先,确保你的Spring Boot项目中已经包含了H2数据库的依赖。在pom.xml文件中添加如下依赖:
    xml复制

    com.h2database
    h2
    runtime

  2. 配置application.properties
    在src/main/resources/application.properties文件中,启用H2控制台并配置数据库连接:
    properties复制
    spring.h2.console.enabled=true
    spring.datasource.url=jdbc:h2:mem:testdb
    spring.datasource.driverClassName=org.h2.Driver
    spring.datasource.username=sa
    spring.datasource.password=
    二、创建数据库表
    在src/main/resources目录下创建schema.sql文件,用于初始化数据库表结构:
    sql复制
    CREATE TABLE PERSON(
    ID BIGINT PRIMARY KEY AUTO_INCREMENT,
    FIRST_NAME VARCHAR(255),
    LAST_NAME VARCHAR(255),
    ADDRESS VARCHAR(255)
    );
    三、编写数据访问层

  3. 创建Person实体类
    java复制
    public class Person {
    private long id;
    private String firstName;
    private String lastName;
    private String address;
    // 省略getter和setter方法
    }

  4. 创建PersonDao接口
    java复制
    @Repository
    public class PersonDao {
    @Autowired
    private JdbcTemplate jdbcTemplate;

    public void save(Person person) {
    String sql = “insert into Person (FIRST_NAME, LAST_NAME, ADDRESS) values (?, ?, ?)”;
    jdbcTemplate.update(sql, person.getFirstName(), person.getLastName(), person.getAddress());
    }

    public List loadAll() {
    return jdbcTemplate.query(“select * from Person”, (resultSet, i) -> {
    return toPerson(resultSet);
    });
    }

    private Person toPerson(ResultSet resultSet) throws SQLException {
    Person person = new Person();
    person.setId(resultSet.getLong(“ID”));
    person.setFirstName(resultSet.getString(“FIRST_NAME”));
    person.setLastName(resultSet.getString(“LAST_NAME”));
    person.setAddress(resultSet.getString(“ADDRESS”));
    return person;
    }
    }
    四、编写控制器
    创建PersonController类,用于处理HTTP请求:
    java复制
    @Controller
    public class PersonController {
    @Autowired
    private PersonDao dao;

    @PostMapping(“/person”)
    public String handlePostRequest(Person person) {
    dao.save(person);
    return “redirect:/person”;
    }

    @GetMapping(“/person”)
    public String handleGetRequest(Model model) {
    model.addAttribute(“persons”, dao.loadAll());
    return “person-view”;
    }
    }
    五、创建视图
    使用Thymeleaf模板引擎创建person-view.html文件,用于展示和输入Person数据:
    HTML复制

Persons

Enter new Person:

  First Name:    
Last Name:
Address:

Saved Persons

Id First Name Last Name Address
六、运行应用 通过IDE或命令行运行Spring Boot应用: bash复制 mvn spring-boot:run 访问http://localhost:8080/person,即可看到Person数据的输入和展示页面。同时,访问http://localhost:8080/h2-console,可以进入H2数据库控制台,查看数据库表结构和执行SQL查询。 通过以上步骤,我们成功地在Spring Boot应用中嵌入了H2数据库,并实现了一个简单的数据增删改查功能。H2数据库的轻量级和便捷性使其成为开发和测试阶段的理想选择,而Spring Boot的自动配置功能则大大简化了开发过程。希望本文能帮助你在项目中更好地利用H2数据库。

你可能感兴趣的:(数据库,spring,boot,oracle,个人开发)