开发入门步骤:

一、maven中添加依赖项

 <dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>test</scope>
</dependency>

二、配置文件application.properties

#端口服务配置
server.port = 9098
spring.application.name = member-dao-service#注册配置
eureka.instance.prefer-ip-address = true
eureka.instance.instance-id = ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
eureka.client.registerWithEureka = true
eureka.client.fetchRegistry = true
eureka.client.serviceUrl.defaultZone = http://registerServer1:9010/eureka/,http://registerServer2:9010/eureka/#数据源配置
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource#************H2  Begin****************
#db schema
spring.datasource.schema=classpath:db/schema.sql
#db data
spring.datasource.data=classpath:db/data.sql#remote visit
spring.h2.console.settings.web-allow-others=true
#console url
spring.h2.console.path=/h2-console
#default true
spring.h2.console.enabled=true
spring.h2.console.settings.trace=true# url,default :jdbc:h2:mem:testdbsa
spring.datasource.url=jdbc:h2:mem:testdbsa
# driver default:org.h2.Driver
spring.datasource.driver-class-name=org.h2.Driver
# username default sa
spring.datasource.username=sa
# password default null
spring.datasource.password=
# 解决中文乱码 最好留着它
spring.datasource.sql-script-encoding = utf-8spring.datasource.initialSize = 5
spring.datasource.minIdle = 5
spring.datasource.maxActive = 20
spring.datasource.maxWait = 60000
spring.datasource.timeBetweenEvictionRunsMillis = 60000
spring.datasource.minEvictableIdleTimeMillis = 300000
spring.datasource.validationQuery = SELECT 1
spring.datasource.testWhileIdle = true
spring.datasource.testOnBorrow = false
spring.datasource.testOnReturn = false
spring.datasource.poolPreparedStatements = true
spring.datasource.maxPoolPreparedStatementPerConnectionSize = 20
spring.datasource.filters = stat,wall,log4j
spring.datasource.connectionProperties = druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.servlet.multipart.enabled = true##日志配置
logging.file = ./log/${spring.application.name}.log
logging.level.root = info#Mybatis
mybatis.configLocation = classpath:mybatis-config.xml
mybatis.mapperLocations = classpath:mapper/**/*.xml

三、在db目录下添加表结构和数据...项目测试结构如下

注意H2有部分sql函数不支持...自己修改掉 ...可以参考:https://www.jianshu.com/p/4a613dcf182c

四、集成Apollo配置中心注意事项:

在做单元测试时.先要去掉apollo(即去掉META-INF/app.properties中的app,不用去掉@EnableApolloConfig)...
否则是读到apollo的配置信息,而不是本地的配置信息...其他的配置中心也要做类似处理

五、Spring boot使用h2内存数据库,定义好sql脚本后执行中文乱码问题

在配置中指定sql的执行编码,如下:

# 解决中文乱码 最好留着它
spring.datasource.sql-script-encoding = utf-8

注意Spring boot读取配置的时候.对应的值不会去空格.....故写utf-8时不要写成'utf-8 '这样多出空格.否则springboot会报无法识别.

哈哈哈...全是坑.记录一下.以免再犯...

简记H2 Database内存数据踩过的坑相关推荐

  1. base64 string类 放不下_base64编码处理数据踩过的坑

    由于业务场景中使用了base64编码进行数据的处理,最近被它折腾的不轻,今天就来看看,都是哪里出了问题. 一.参与签名时,对base64编码结果处理不当 我们知道,base64编码是由大小写字母.数字 ...

  2. oracle 查重复_日常答疑|MySQL删除重复数据踩过得坑

    问题 群友提问:MySQL这样删除重复数据为啥不成功呢? 严小样儿:安排! 咋一看,大家都说where子句里面应该使用极值函数,加个max就对了,这么简单! # 大家想象中这样写是对的,其实仍然是错的 ...

  3. mysql 删除重复数据_日常答疑|MySQL删除重复数据踩过得坑

    问题 群友提问:MySQL这样删除重复数据为啥不成功呢? 严小样儿:安排! 咋一看,大家都说where子句里面应该使用极值函数,加个max就对了,这么简单! # 大家想象中这样写是对的,其实仍然是错的 ...

  4. hazelcast配置内存_在内存数据网格中引入hazelcast imdg

    hazelcast配置内存 Today's article will be oriented to a very specific concept, which is the In-Memory Da ...

  5. 内存泄漏 内存溢出 踩内存 malloc底层实现原理

    本文主要对内存泄漏.内存溢出.内存踩踏[踩内存]以及malloc的底层实现原理进行了总结.话不多说,直接往下看: 参考文章: 内存泄漏与内存溢出: https://blog.csdn.net/ruir ...

  6. H2 database文档学习

    http://h2database.com/html/quickstart.html Embedding H2 in an Application 嵌入式应用方式,使用方式: 1.Add the h2 ...

  7. 内存飞踩问题的几点思考

    1.程序编译,链接后生成二进制可执行程序.二进制可执行文件以elf格式实现排列.可以通过readelf -S xxxx查看具体section的划分,粗略划分如下图所示. 在这些section中,代码段 ...

  8. solidity 汇编语言问题——内存数据mload时为什么从第32位开始

    问题:内存数据mload时为什么从第32位开始 代码出处:https://gist.github.com/axic/5b33912c6f61ae6fd96d6c4a47afde6d pragma so ...

  9. logstash导入数据到Elasticsearch踩过的坑详解

    一.前言 这篇主要记录在导入数据时候踩到的坑,这些坑总共花费我小一天的时间,记录一下. 二.正文 1.logstash显示在导入数据,ES也成功新建了索引,但是没数据 最开始遇到的是这个坑,logst ...

最新文章

  1. 支持插件的消息中间件【msg broker with plugin】 - 知然 - 博客园
  2. 8.使用Xshell5密钥登录liunx
  3. Eclipse导入GitHub项目两处报错处理
  4. element el-popover 使用v-if 控制显示/隐藏,当条件变化时,里面有部分内容无法显示
  5. SAP WebIDE编辑器的主题设置
  6. html页面阴影怎么做,html – 做弯曲阴影的最佳方式
  7. matlab仿真环境,高低温环境模拟系统MATLAB仿真研究
  8. java android aes加密解密_AES加密解密在JAVA和ANDROID下互通
  9. F5 配置手册 -F5 BIG-IP 10.1-1-激活
  10. php数组拆分的函数是,php基础之数组的合并、拆分、区别取值函数集
  11. ubuntu opencv4 需要的依赖
  12. C++中读写文件demo
  13. 问卷调查微信小程序源码
  14. linux下载和安装activemq
  15. 相关系数(Correlation coefficient)
  16. 解锁计算机桌面,电脑锁屏按什么键解锁
  17. 内核 BUG_ON 以及WARN_ON 用法作用
  18. 滑铁卢计算机竞赛福建考点,数学与计算机竞赛界的“四大天王”,你敢来挑战么?...
  19. 批量挖掘SRC思路与实践一
  20. 保存相片是什么图像格式?

热门文章

  1. PCI (一) 之 概述与接口定义
  2. 仿ios桌面vivo_vivo仿ios主题教程 vivo设置ios主题的方法
  3. mapper.xml文件启动报错:Result Maps collection already contains value for
  4. ECMAScript 篇
  5. vue 引入pako解压后台压缩的数据
  6. 1800个python词汇_基本 Python 词汇
  7. php 可以编辑treegrid,浅谈EasyUI中编辑treegrid的方法
  8. 职教云python题和答案_智慧职教云课堂APPPython程序设计题目及答案
  9. Universal-Image-Loader(UIL)图片加载框架使用简单介绍
  10. 破解ZIP密码-13行代码