一、引言部分
Spring Boot框架的重要性与优势:
-
简化开发过程:Spring Boot的核心价值在于极大地简化了Spring应用的搭建和配置过程。它通过自动配置机制,能够智能地根据项目依赖来配置应用程序,无需编写大量XML配置文件,使得开发者能快速上手并专注于业务逻辑。
-
开箱即用:Spring Boot提供了大量的starter模块,只需简单添加依赖即可集成各种功能,如Web服务、安全控制、数据访问等,从而加快项目的启动速度。
-
独立运行:Spring Boot应用可以直接打包为可执行的jar或war文件,内嵌了Tomcat、Jetty等容器,使得应用可以独立部署,无需额外安装应用服务器。
-
强大的生态系统:Spring Boot依托于Spring Framework及其广泛的社区支持,拥有丰富的第三方库集成,便于开发者进行功能扩展。
Mybatis持久层框架的优势:
-
灵活的SQL定制:Mybatis允许开发人员直接编写SQL语句,对于复杂的查询优化有较大灵活性,适合对数据库操作有较高定制化需求的场景。
-
解耦度高:通过Mapper接口与XML映射文件的方式,实现了Java代码与SQL语句的分离,提高了系统的可维护性。
-
轻量级:相比于Hibernate等全自动化ORM框架,Mybatis更加轻便,学习曲线相对平缓,并且在特定场景下性能表现更优。
H2内存数据库的重要性与优势:
-
快速开发与测试:H2是一个开源的Java数据库引擎,它可以作为内存数据库使用,这意味着所有数据都存储在内存中,非常适合于开发环境下的单元测试和原型设计,因为它的启动速度快,数据操作实时响应。
-
易用的Web控制台:H2提供了一个内置的Web控制台,方便开发者查看数据库内容、执行SQL脚本和管理数据,这对于调试和数据分析非常有用。
-
多模式支持:除了内存模式,H2还支持文件模式(数据持久化到磁盘)和混合模式,这使得它既能用于临时数据处理,也能作为一个小型生产数据库系统。
-
嵌入式特性:由于H2可以嵌入到应用程序中,因此特别适用于微服务架构下的单体应用或者分布式环境中的每个组件内部的数据存储需求。
二、环境准备与依赖管理
- 添加依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
三、Mybatis、H2整合
- 配置文件详解:
示例配置如下:
# 文件模式
spring.datasource.url=jdbc:h2:file:./data/ymd;AUTO_RECONNECT=TRUE
# 依赖
spring.datasource.driverClassName=org.h2.Driver
# 用户名
spring.datasource.username=sa
# 密码
spring.datasource.password=
# h2初始化脚本
spring.sql.init.data-locations=classpath:/db/trigger.sql
# mybatis sql打印
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
# 启用H2 Console
spring.h2.console.enabled=true
# 可选:设置允许访问控制台的路径,默认是/h2-console
spring.h2.console.path=/h2-console
# 控制初始化脚本执行时机
spring.sql.init.mode=always
h2模式运行介绍
在Spring Boot项目中配置H2数据库时,spring.datasource.url
属性用于指定数据源的连接URL。对于H2数据库,你可以根据不同的运行模式&#