java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot整合SQLite

SpringBoot整合SQLite的超详细讲解

作者:Z灏

sqlite数据库是轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库,下面这篇文章主要给大家介绍了关于SpringBoot整合SQLite的超详细讲解,需要的朋友可以参考下

一、SQLite是什么

SQLite是一个不需要服务不需要配置不需要外部依赖的开源SQL轻量级数据库。

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

您可能感兴趣的文章:
阅读全文