SpringBoot整合SQLite的超详细讲解
一、SQLite是什么
SQLite是一个不需要服务、不需要配置、不需要外部依赖的开源SQL轻量级数据库。
- 不需要服务器:如MySQL安装后,会在操作系统中创建一个进程mysqld.exe,而SQLite不需要创建。
- 不需要配置:如MySQL安装后,需要配置端口、用户名、密码等,而SQLite不需要,它是存储在磁盘上的文件,不需要安装。
- 不需要外部依赖:SQLite是自给自足的,不需要任何外部的依赖。
二、SQLite优点
sqlite支持MySQL拥有的大多数功能。
允许多个进程\线程安全访问,支持事务机制。
允许多门开发语言调用,支持JDBC。
支持Windows、Linux等多个操作系统上运行。
三、SpringBoot整合SQLite
准备工作
1.创建一个文件(后缀名为.db)
【建议】将这个文件夹放到项目所在的目录。
这个文件的相当于MySQL中创建一个库。
以下是我创建的文件,

2.使用IDEA连接



显示这个就是连接成功了。
3.创建表


整合
1.导入依赖
<!-- SQLite JDBC Driver -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.34.0</version> <!-- Use the latest version -->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mysql JDBC Driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.9</version>
</dependency>2.配置文件
spring:
datasource:
druid:
login-timeout: 30000
dynamic:
primary: sqlite
datasource:
mysql:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/xxx?serverTimezone=UTC
username:
password:
sqlite:
url: jdbc:sqlite:D:\xxx\user.db
driver-class-name: org.sqlite.JDBC
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
cache-enabled: true
map-underscore-to-camel-case: false
global-config:
db-config:
logic-delete-field: isDeleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)解释

3.代码
我刚才创建的表有三个字段,id、name、age
实体类
@TableName(value ="user")
@Data
public class User implements Serializable {
/**
*
*/
private Integer id;
/**
*
*/
private String name;
/**
*
*/
private Integer age;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}mapper层
@Mapper
public interface UserMapper extends BaseMapper<User> {
}Service层
public interface UserService extends IService<User> {
}实现类impl
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User>
implements UserService {
}控制层
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@GetMapping("/getAll")
public List<User> getAll() {
return userService.list();
}
}展示结果

以上我们就整合完了,写了一个小小的demo。
总结
到此这篇关于SpringBoot整合SQLite的文章就介绍到这了,更多相关SpringBoot整合SQLite内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Idea设置全局highlighting level为Syntax问题
这篇文章主要介绍了Idea设置全局highlighting level为Syntax问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04
Spring Boot中使用RabbitMQ 生产消息和消费消息的实例代码
本文介绍了在SpringBoot中如何使用RabbitMQ进行消息的生产和消费,详细阐述了RabbitMQ中交换机的作用和类型,包括直连交换机、主题交换机、扇出交换机和头交换机,并解释了各自的消息路由机制,感兴趣的朋友一起看看吧2024-10-10
SpringBoot做junit测试的时候获取不到bean的解决
这篇文章主要介绍了SpringBoot做junit测试的时候获取不到bean的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09
SpringBoot+MyBatisPlus中乐观锁的实现示例
乐观锁是一种用于解决并发冲突的机制,在数据库中用于保护数据的一致性,本文主要介绍了SpringBoot+MyBatisPlus中乐观锁的实现示例,具有一定的参考价值,感兴趣的可以了解一下2023-08-08


最新评论