因为业务需要,项目中需要使用内嵌式数据库,翻了翻之前使用h2
的demo,发现竟没有一个完整的,于是重新搭建一下,顺便记录。
jdk
8.0maven
3.3.9mybatis plus
3.2.0h2database
1.4.200看名字就能大概知道,是mybatis 的增强版,主要特点是快速配置,简化开发,具体可以参考mybatis plus官网,内容非常详细。
是由java编写的内嵌式数据库,运行于7,8,11版本的jdk中,支持所有主要的操作系统(Windows, Mac OS X, Linux,…),具体可以参考h2databse官网
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-boot-starterartifactId>
<version>3.3.2version>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<optional>trueoptional>
dependency>
<dependency>
<groupId>com.h2databasegroupId>
<artifactId>h2artifactId>
<version>1.4.200version>
<scope>runtimescope>
dependency>
server.port=8088
#数据源
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.username=sa
spring.datasource.password=9527
spring.datasource.schema=classpath:db/schema-h2.sql
spring.datasource.data=classpath:db/data-h2.sql
#Whether to enable the console是否启用控制台
spring.h2.console.enabled=true
#Path at which the console is available.控制台可用路径
spring.h2.console.path=/h2-database
schema-h2.sql
表结构DROP TABLE IF EXISTS liquor;
CREATE TABLE liquor
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '名称',
price INT(11) NULL DEFAULT NULL COMMENT '价格',
PRIMARY KEY (id)
);
data-h2.sql
数据DELETE FROM liquor;
INSERT INTO liquor (id, name, price) VALUES
(1, '老白干', 13),
(2, '泸州老窖', 127),
(3, '酒鬼', 74),
(4, '茅台', 1687),
(5, '五粮液', 222);
/**
* 酒
*/
@Data
public class Liquor {
@TableId(type = IdType.ASSIGN_ID)
public Long id;
public String name;
public Integer price;
}
@Mapper
public interface LiquorMapper extends BaseMapper<Liquor> {
}
@RestController
public class LiquorController {
@Autowired
private LiquorMapper liquorMapper;
@GetMapping("/find")
public List<Liquor> findLiquor(){
return liquorMapper.selectList(null);
}
}
项目搭建到这里就一切就绪了,然后现在只需要运行项目
这套技术放一起就是一个特点简单,尤其像h2
这种嵌入式的内存数据库,基本不需要复杂联表,都是单表操作的,搭配上Mybatis Plus
简直不要太easy
源码下载:H2database + MyBatis-Plus SSM.zip
最后,写的若有不足或需要改进之处,欢迎多多批评