win+mac通用的SpringBoot+H2数据库集成过程。

有小部分大学的小部分老师多毛病,喜欢用些晦涩难搞的数据库来折腾学生,我不理解,但大受震撼。按我的理解,这种数据库看着好像本地快速测试代码很舒服,但依赖和数据库限制的很死板,对不上就是用不了,而且创建过程也麻烦,就算能借用mysql模型,也没多方便。

可以先看下面这篇了解下,再看我的避坑:

springboot+H2集成的另一个帖子。

一. 搭建数据库

1.下载H2数据库

点击下载

注意解压后进入 ./h2/bin/h2-2.2.224.jar 看到这个文件,win可以在文件浏览器的搜索框中输入cmd

用执行以下命令,mac则cd到该文件夹执行以下命令,这需要java环境的。注意这时候mac启动好了会直接跳到这个页面,win要手动打开(localhost:8082/login.jsp)

java -jar h2-2.2.224.jar

2.如何进入控制台

注意:最开始数据库没有东西,默认Generic H2 (Embedded),你在url最后写好一个你想写的数据库名后,点击链接会自动创建一个的,但用户名密码你要记住(密码不写也没事)。

3.初始化页面内容。

这里一开始没有你要的表数据,默认的两个表内容不要改,把自己的数据库sql内容放进文本框中,执行完得到 3中的内容。

3.执行数据库并新建表内容。

4.获取数据库db文件。

搞定以上那些,会生成一份数据库文本,格式为:xxx.mv.db。每次新建都会生成一份的。

win可以在数据库安装的地方找,一开始就可以设置路径。

mac到/Users/yourName/xxmall.mv.db可以找到。

---------------------------------------------------------------------------------------------------------

为什么说这么多呢,因为这份(xxmall.mv.db)文件就是用来给项目链接数据库运行的。

二.在idea运行springboot+H2项目。

以我的项目为例,idea中,找个路径放好你的db文件,比如我这样

1.配置文件。

yml还是properties(我是这个)都行配置的重点如下:

#H2  ;MODE= XX h2数据库配置
#spring.datasource.url=jdbc:h2:file:./h2db/xxmall  
# url后用 jdbc:h2:mem:xxmall 这个也可以,但注意,这里是没有数据的,
# 你需要写一份insert脚本先去跑sql,这也是我把(xxmall.mv.db)拆出来的原因。
spring.datasource.url=jdbc:h2:file:./h2db/xxmall;MODE=MySQL
# mode不能漏泄,你可以根据需要写哪个数据库特性
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
spring.h2.console.settings.web-allow-others=true
spring.h2.console.path=/h2-console

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false

##################### jpa hibernate 配置 #########################
spring.jpa.show-sql=false
spring.jpa.database=h2
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update

2.注意点:

jdbc:h2:file:./h2db/xxmall;MODE=MySQL

/h2db/ 是本项目内的文件夹位置,xxmall是数据库名字,不要带上.mv.db,后面是特性借用mysql。

注意你用的就是H2数据库,不要怀疑,下面的账号密码写你填上去的。

2.还有实体类一定要写清楚@Column(name = "count") name=里面对应的数据库字段,H2对大小写,驼峰都敏感(我用JPA的原因吗?),必须每个都写好写对,还有,绝对不可以带反单引号 `,sql也不要。

最后就是依赖,你下载的H2是哪个版本,那么pom文件就必须用哪个版本。

  • 22
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值