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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
深入理解Netty FastThreadLocal优缺点及实现逻辑
本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码,由浅入深理解Netty FastThreadLocal2023-10-10
最新评论