SpringBoot整合SQLite的超详细讲解

 更新时间:2024年03月28日 11:31:49   作者:Z灏  
sqlite数据库是轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库,下面这篇文章主要给大家介绍了关于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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring MVC+mybatis实现注册登录功能

    Spring MVC+mybatis实现注册登录功能

    这篇文章主要为大家详细介绍了Spring MVC+mybatis实现注册登录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Spring Bean 依赖注入常见错误问题

    Spring Bean 依赖注入常见错误问题

    这篇文章主要介绍了Spring Bean 依赖注入常见错误问题,文中提到value的工作大体分为三个核心步骤,具体内容详情跟随小编一起看看吧
    2021-09-09
  • java socket编程实例代码讲解

    java socket编程实例代码讲解

    这篇文章主要介绍了java socket编程示例讲解,大家参考使用吧
    2013-12-12
  • 将本地SpringBoot项目发布到云服务器的方法

    将本地SpringBoot项目发布到云服务器的方法

    这篇文章主要介绍了如何将本地SpringBoot项目发布到云服务器,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • 深入理解Netty FastThreadLocal优缺点及实现逻辑

    深入理解Netty FastThreadLocal优缺点及实现逻辑

    本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码,由浅入深理解Netty FastThreadLocal
    2023-10-10
  • Java Spring boot日期和时间统一设置三种方法

    Java Spring boot日期和时间统一设置三种方法

    时间和日期的统一设置在项目中经常是会遇到的,下面这篇文章主要给大家介绍了关于Java Spring boot日期和时间统一设置的三种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • SpringBoot中动态数据源配置与使用详解

    SpringBoot中动态数据源配置与使用详解

    在现代应用中,处理多数据源是常见的需求,在 Spring Boot 中,这样的需求可以通过动态数据源来轻松实现,本篇博客将详细介绍如何在 Spring Boot 中配置和使用动态数据源,并演示如何切换到指定的数据源,需要的朋友可以参考下
    2024-10-10
  • Java生成验证码功能实例代码

    Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下
    2017-05-05
  • Java中使用增强for循环的实例方法

    Java中使用增强for循环的实例方法

    在本篇文章里小编给大家整理是的关于Java中如何使用增强for循环的实例内容以及相关代码,需要的朋友们可以学习下。
    2019-08-08
  • SpringBoot Aop实现接口请求次数统计

    SpringBoot Aop实现接口请求次数统计

    我们通过Spring AOP在每次执行方法前或执行方法后进行切面的处理,进而统计方法访问的次数等功能,本文主要介绍了SpringBoot Aop实现接口请求次数统计
    2024-02-02

最新评论