欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

SpringBoot整合SQLite的超详细讲解,

来源: javaer 分享于  点击 21072 次 点评:138

SpringBoot整合SQLite的超详细讲解,


目录
  • 一、SQLite是什么
  • 二、SQLite优点
  • 三、SpringBoot整合SQLite
    • 准备工作
      • 1.创建一个文件(后缀名为.db)
      • 2.使用IDEA连接
      • 3.创建表
    • 整合
      • 1.导入依赖
      • 2.配置文件
      • 3.代码
  • 总结

    一、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内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

    您可能感兴趣的文章:
    • SpringBoot整合SQLite数据库全过程
    相关栏目:

    用户点评