目標(biāo)
在SpringBoot中集成內(nèi)存數(shù)據(jù)庫Derby.
為什么
像H2、hsqldb颖低、derby絮吵、sqlite這樣的內(nèi)存數(shù)據(jù)庫,小巧可愛忱屑,做小型服務(wù)端演示程序蹬敲,非常好用。最大特點就是不需要你另外安裝一個數(shù)據(jù)庫莺戒。
操作步驟
- 修改pom.xml文件
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>runtime</scope>
</dependency>
- 修改項目配置文件application.yml
spring:
datasource:
username: hsp
password: 123456
url: jdbc:derby:blogDb;create=true
driver-class-name: org.apache.derby.jdbc.EmbeddedDriver
schema: classpath:schema.sql
data: classpath:data.sql
initialization-mode: always
continue-on-error: true
- 添加初始化數(shù)據(jù)文件
- 建表腳本:schema.sql
CREATE TABLE blog (
id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
title varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
);
- 導(dǎo)入數(shù)據(jù)腳本:data.sql
insert into blog(id,title) values(1,'花生皮編程博客');
- 啟動類:HspApplication
@MapperScan({"cn.hsp.blog"})
@SpringBootApplication
public class HspApplication {
public static void main(String[] args) {
SpringApplication.run(HspApplication.class, args);
}
}
- Controller類:BlogController
@RestController
@RequestMapping("/blog")
public class BlogController {
@Autowired
private BlogMapper blogMapper;
@GetMapping(value="/query")
public List<Blog> query()
{
return blogMapper.query();
}
}
- Mapper類:BlogMapper
@Repository
public interface BlogMapper {
@Select(value = "select * from blog")
List<Blog> query();
}
- 數(shù)據(jù)bean:Blog
@Data
public class Blog {
private int id;
private String title;
}
工程截圖
運(yùn)行
運(yùn)行HspApplication即可
效果
完整源代碼
https://gitee.com/hspbc/springboot_memdb.git
關(guān)于我
廈門大學(xué)計算機(jī)專業(yè)|華為八年高級工程師
十年軟件開發(fā)經(jīng)驗伴嗡,5年編程培訓(xùn)教學(xué)經(jīng)驗
目前從事編程教學(xué),軟件開發(fā)指導(dǎo)脏毯,軟件類畢業(yè)設(shè)計指導(dǎo)闹究。
所有編程資料及開源項目見https://juejin.cn/post/7002792005688360968
集成內(nèi)存數(shù)據(jù)庫系列
SpringBoot集成內(nèi)存數(shù)據(jù)庫H2
SpringBoot集成內(nèi)存數(shù)據(jù)庫Derby
SpringBoot集成內(nèi)存數(shù)據(jù)庫hsqldb
SpringBoot集成內(nèi)存數(shù)據(jù)庫Sqlite