SpringBoot整合SQLite数据库全过程
前言
sqlite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。
就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
功能特性
- ACID事务
- 零配置 – 无需安装和管理配置
- 储存在单一磁盘文件中的一个完整的数据库
- 数据库文件可以在不同字节顺序的机器间自由的共享
- 支持数据库大小至2TB
- 足够小, 大致13万行C代码, 4.43M
- 比一些流行的数据库在大部分普通数据库操作要快
- 简单, 轻松的api
- 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定
- 良好注释的源代码, 并且有着90%以上的测试覆盖率
- 独立: 没有额外依赖
- 源码完全的开源, 你可以用于任何用途, 包括出售它
- 支持多种开发语言,C, c++, PHP, Perl, Java, C#,python, Ruby等
1、pom.xml
<dependencies>
<!--WEB应用基本环境配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--sqlite-->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
</dependency>
<!-- jdbc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
</dependencies>
2、application.properties
SQLite只需要关联一个.db文件,就能实现数据库的连接操作。
spring.datasource.driver-class-name=org.sqlite.JDBC
#绝对位置配置方式
#spring.datasource.url=jdbc:sqlite:E:/db/test.db
#相对位置配置方式
spring.datasource.url=jdbc:sqlite::resource:db/test.db
在如下位置,手动创建一个 test.db 空文件
3、测试代码
@Autowired
private JdbcTemplate jdbcTemplate;
// 1、建表 DDL
String createUser = "create table user(" +
"id integer primary key autoincrement," +
"name varchar(20)," +
"age integer" +
")";
jdbcTemplate.update(createUser);
// 2、插入数据
String insertUserData = "insert into user(name,age) values ('张三',18),('李四',20)";
jdbcTemplate.update(insertUserData);
// 3、查询语句
String selectUserData = "select * from user";
List<Map<String, Object>> list = jdbcTemplate.queryForList(selectUserData);
for (Map<String, Object> map : list) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.geTKEy() + "=" + entry.getValue());
}
}
// 5、删除整张表
String dropTable = "drop table user";
jdbcTemplate.update(dropTable);
完整测试代码
package com.study.myweb;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import java.util.List;
import java.util.Map;
@SpringBootApplication
public class MyWebApplication implements CommandLineRunner {
@Autowired
private JdbcTemplate jdbcTemplate;
public static void main(String[] args) {
SpringApplication.run(MyWebApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
// 1、建表 DDL
String createUser = "create table user(" +
"id integer primary key autoincrement," +
"name varchar(20)," +
"age integer" +
")";
jdbcTemplate.update(createUser);
// 2、插入数据
String insertUserData = "insert into user(name,age) values ('张三',18),('李四',20)";
jdbcTemplate.update(insertUserData);
// 3、查询语句
String selectUserData = "select * from user";
List<Map<String, Object>> list = jdbcTemplate.queryForList(selectUserData);
for (Map<String, Object> map : list) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
}
// 4、删除整张表
String dropTable = "drop table user";
jdbcTemplate.update(dropTable);
}
}
总结
到此这篇关于SpringBoot整合SQLite数据库的文章就介绍到这了,更多相关SpringBoot整合SQLite内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关文章