刷新认知!h2database在springboot中的使用
h2为轻量级数据库 , 使用特别方便 , 它可以不使用数据库服务器 , 直接嵌入到java程序中 。 可以配置持久化 , 同样也可以不持久化(数据在内存中)进程结束后 , 数据就释放 , 用做测试和演示特别方便 。 自带后台管理 , 非常方便 , 开源免费
- 类库 , 使用maven简易安装
- 可以同应用程序打包在一起发布
- 可持久化 , 也可以直接基于内存不保留数据 , 适合于做单元测试
org.springframework.boot spring-boot-starterorg.springframework.boot spring-boot-starter-weborg.projectlombok lomboktrue com.h2database h2runtime1.4.193 org.mybatis.spring.boot mybatis-spring-boot-starter2.1.1
application.yml配置#server:port: 8080spring:datasource:driver-class-name: org.h2.Driver#schema: classpath:db/schema-h2.sql #初始化建表#data: classpath:db/data-h2.sql #初始化数据#url: jdbc:h2:mem:test#不持久化 , 放在内存中url: jdbc:h2:~/testusername: rootpassword: testh2:console:path: /h2-consoleenabled: true #必须配置 , 不然无法访问
- 配置中提供了初始化数据库语句schema: classpath:db/schema-h2.sql
- 配置中提供数据初始化语句data: classpath:db/data-h2.sql
- 当然你也可以不初始化数据和表 , 在程序启动后 , 可以通过 localhost:8080/h2-console访问数据库管理后台 。 通过后台操作h2数据库
- 持久化与否url: jdbc:h2:mem:test代表数据放置于内存中 , 这种适合做单元测试 , 一次性使用url: jdbc:h2:~/test 代表数据存放于 家目录/test中
文章插图
文章插图
文章插图
测试查询功能#完整代码参考:
- Application.java
package demosimple.h2;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication@MapperScan("demosimple.h2.mapper")public class Application {public static void main(String[] args) {SpringApplication.run(Application.class,args);}}
- TestController.java
package demosimple.h2.controller;import demosimple.h2.mapper.UserMapper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController {@AutowiredUserMapper userMapper;@GetMapping("/test")public Object test(){return userMapper.getById(1L);}}
- UserMapper.java
- 用户|元旦当天苹果应用消费额超过5.4亿美元 刷新单日消费记录
- 视网膜优化?索尼具认知能力电视芯片XR来了
- 摩托罗拉廉价新机“Ibiza”再度现身 支持90Hz刷新率
- iPhone 13机型曝光,Pro版支持120Hz屏幕刷新率
- 城市刷新正当时|合肥城市宣传片震撼首发
- Galaxy Z Fold 3曝光:支持120Hz的刷新率
- 5G订单再次刷新,爱立信超118单,华为多少单?
- 2020最失败的手机巨头?出货量不足3亿,刷新9年来最低纪录
- 西安奕斯伟硅产业基地项目建设刷新我国建设大硅片制造项目的最快速度
- 马云巨资打造达摩院,拿下40余项全球第一后,再次刷新世界纪录