SpringBoot 练习:使用 H2 数据库

选择依赖

idea带的 spring-initializr 创建工具创建一个新项目,依赖如下
在这里插入图片描述

配置 application.yml

# 开发环境配置
server:
  # 服务器的HTTP端口,默认为80
  port: 80
  servlet:
    # 服务的访问路径
    context-path: /
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # tomcat最大线程数,默认为200
    max-threads: 800
    # Tomcat启动初始化的线程数,默认值25
    min-spare-threads: 30


# Spring配置
spring:
  datasource:
    driver-class-name: org.h2.Driver
    # 启动数据库的初始化模式:never从不,EMBEDDED仅初始化嵌入式数据源,ALWAYS始终初始化数据源。
    # initialization-mode: never # 默认 EMBEDDED
    schema: classpath:sql/schema.sql # 每次启动程序,运行schema.sql文件,创建数据表
    data: classpath:sql/data.sql #,每次启动程序,运行data.sql文件,填充数据
	# url: jdbc:h2:mem:test #配置h2数据库的连接地址
    url: jdbc:h2:file:E:/database/h2/test #配置h2数据库的连接地址
    username: root
    password: root

  h2:
    console:
      enabled: true #开启web console功能
      path: /h2 # web 控制台的访问路径

  # 服务模块
  devtools:
    restart:
      # 热部署开关
      enabled: true

# MyBatis
mybatis:
  typeAliasesPackage: com.example.demo.entity
  mapperLocations: classpath*:mapper/**/*Dao.xml
  configuration:
    mapUnderscoreToCamelCase: true

#Sql日志输出
logging:
  level:
    com.example.demo.dao: trace # 改成你的mapper文件所在包路径

创建测试数据

datasource.schema用到的sql如下

DROP TABLE IF EXISTS poem;
CREATE TABLE poem (
  id bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  title varchar(16) NOT NULL COMMENT '诗词标题',
  content varchar(255) NOT NULL COMMENT '诗词内容',
  author varchar(16) NOT NULL,
  PRIMARY KEY (id)
)

datasource.data 用到的sql如下

INSERT INTO poem VALUES ('1', '痴情癫', '<p>多情黯叹痴情癫,痴情苦笑多情难。</p><p>相思自古无良药,从来独步赴黄泉。</p>', '笑虾');
INSERT INTO poem VALUES ('2', '爱云说', '<p>一壶泪,暗淡醇香味。</p><p>化作万樽与谁对?</p><p>忧举杯,乐举杯,地老天荒只一醉。</p><p>欲哭时,男儿无泪。</p><p>千般相思苦。</p><p>杯中汇...</p>', '笑虾');

访问效果

http://localhost/poem/selectOne?id=1
在这里插入图片描述

Demo源文件

Demo源文件 h2demo.zip

访问 H2 数据库

问题

版本问题

注意版本问题:比如从访问一个别人创建的本地h2数据库文件,很有可能默认版本不兼容导致报错,要自己手动设置:
使用默认版本,我启动失败报:

org.h2.jdbc.JdbcSQLNonTransientException: General error: "java.lang.IllegalStateException: Unable to read the page at position 70368748811782 [1.4.200/6]" [50000-200]

查看一下当前springboot项目默认的版本:
在这里插入图片描述
再问清楚对方本地h2数据库文件是哪个版本创建的。比如我这里就手动添加了版本。搞定。

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.196</version>
            <scope>runtime</scope>
        </dependency>

相关资料

Demo 源码

H2 学习笔记 《安装运行》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑虾

多情黯叹痴情癫。情癫苦笑多情难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值