SpringBoot 内置数据源 Hikari + 持久化技术 JdbcTemplate + 内置数据库 H2 代码示例

SpringBoot 内置数据源 Hikari + 持久化技术 JdbcTemplate + 内置数据库 H2 代码示例
- pom.xml引入相关依赖,配置完成要reload此maven工程。
<!--hikari数据源+JdbcTemplate持久化技术+H2数据库-->

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--JdbcTemplate-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!--lombok-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

<!--test-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
- yml配置:
server:
  port: 80
spring:
  h2:
    console:
      enabled: true
  datasource:
    url: jdbc:h2:~/test
    driver-class-name: org.h2.Driver
    hikari:
      username: sa
      password: 123456

  • 启动此项目,在控制台观察下图所示日志,即为H2数据库的控制台访问地址:
    在这里插入图片描述
  • 访问H2数据库:
    在这里插入图片描述
  • 输入默认密码:123456测试连接并连接:
    在这里插入图片描述
  • 执行建表语句:
    在这里插入图片描述
  • 添加三条数据:
insert into TBL_BOOK values ('1', 'SpringBoot从入门到精通', 'SpringBoot描述', '35.00');
insert into TBL_BOOK values ('2', 'SpringCloud从入门到精通', 'SpringCloud描述', '36.00');
insert into TBL_BOOK values ('3', 'Spring从入门到精通', 'Spring描述', '37.00');

在这里插入图片描述

  • 查询数据:
    在这里插入图片描述
- 实体类:Book.java
import lombok.*;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {

    private String id;
    private String name;
    private String description;
    private Float price;

}
- 执行测试程序:
import com.example.springboot.entity.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

@SpringBootTest
public class SpringBootH2DatabaseTest {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Test
    void contextLoads() {

        String sql = "select * from tbl_book";

        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        System.out.println("queryForList执行结果如下\n"+maps);

        RowMapper<Book> rm = new RowMapper<Book>() {
            @Override
            public Book mapRow(ResultSet rs, int rowNum) throws SQLException {
                Book temp = new Book();
                temp.setId(rs.getString("id"));
                temp.setName(rs.getString("name"));
                temp.setDescription(rs.getString("description"));
                temp.setPrice(rs.getFloat("price"));
                return temp;
            }
        };

        List<Book> bookList = jdbcTemplate.query(sql, rm);
        System.out.println("query执行结果如下:\n"+bookList);

    }
}
  • 执行结果如下:
queryForList执行结果如下
[{ID=1, NAME=SpringBoot从入门到精通, DESCRIPTION=SpringBoot描述, PRICE=35.0}, {ID=2, NAME=SpringCloud从入门到精通, DESCRIPTION=SpringCloud描述, PRICE=36.0}, {ID=3, NAME=SprinTBL_BOOK g从入门到精通, DESCRIPTION=Spring描述, PRICE=37.0}]
query执行结果如下:
[Book(id=1, name=SpringBoot从入门到精通, description=SpringBoot描述, price=35.0), Book(id=2, name=SpringCloud从入门到精通, description=SpringCloud描述, price=36.0), Book(id=3, name=Spring从入门到精通, description=Spring描述, price=37.0)]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值