赞
踩
spring boot 2.3.7
h2database 1.4.195 (1.4.200版本自动建库会报错)
lombok 1.18.16
mybatis-plus-boot-starter 3.3.2
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.195</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
可以弄个sql文件,让应用启动时在h2数据库自动建表
注意h2数据库除了可以做内存数据库,也可以做本地持久化,具体看datasource里面怎么配置
application.yml
server: port: 8088 spring: datasource: # url: jdbc:h2:mem:mydb #mem 创建一个名叫mydb的内存数据库,应用重启就没了 url: jdbc:h2:~/mydb #~ 在系统的home目录下创建一个名叫mydb的持久数据库 driver-class-name: org.h2.Driver username: admin #账号密码自己配置 password: abc123 schema: classpath:db/schema-h2.sql # 启动应用时读取resources/db/schema-h2.sql 自动建表 data: classpath:db/data-h2.sql # 启动应用时读取resources/db/data-h2.sql 自动建表自动插数据 h2: #开启web控制台 访问地址 http://localhost:应用端口/h2-database console: enabled: true #Whether to enable the console 是否启用控制台 path: /h2-database #Path at which the console is available.控制台可用路径 settings: web-allow-others: true mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #让mybatis-plus打印sql
src/main/resources/db/schema-h2.sql
--每次启动应用都重建新表
--DROP TABLE IF EXISTS book;
--CREATE TABLE liquor
SET MODE MYSQL; --兼容mysql语法
-- 以下是只最初创建一次表,而不是一启动应用就重建
CREATE TABLE IF NOT EXISTS book
(
id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID' ,
name VARCHAR(128) NULL DEFAULT NULL COMMENT '名称',
price INT(11) NULL DEFAULT NULL COMMENT '价格',
PRIMARY KEY (id)
);
src/main/resources/db/data-h2.sql
--这里我注释掉了,因为我配置的是持久数据库,后面自己通过mybatis-plus添加测试数据
--如果创建的是内存数据库的话才可能需要每次启动应用自动插入数据
/*
DELETE FROM book;
INSERT INTO book (id, name, price) VALUES
(1, '<demo1>', 88),
(2, '<demo2>', 444),
(3, '<demo3>', 444),
(4, '<demo4>', 666),
(5, '<demo5>', 7);
*/
src/main/java/cc/mm/demo1/controllers/ControllerBook.java
package cc.mm.demo1.controllers; import cc.mm.demo1.enity.Book; import cc.mm.demo1.mappers.MapperBook; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; @RestController public class ControllerBook { @Autowired private MapperBook mapperBook; //获取所有 @RequestMapping("/listAllBook") @ResponseBody Object listAllBook(){ return mapperBook.selectList(null); } //循环添加测试数据 @RequestMapping("/addTestData") @ResponseBody Object addTestData(){ for(int i=0;i<100;i++) { Book b = new Book(); b.setName("test"); b.setPrice(i*5); mapperBook.insert(b); } return "ok"; } }
src/main/java/cc/mm/demo1/enity/Book.java
package cc.mm.demo1.enity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class Book {
//id自增
@TableId(type = IdType.AUTO)
int id;
public String name;
public Integer price;
}
src/main/java/cc/mm/demo1/mappers/MapperBook.java
package cc.mm.demo1.mappers;
import cc.mm.demo1.enity.Book;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MapperBook extends BaseMapper<Book> {
}
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。