首页 > 数据库 >SpringBoot快速整合SqLite

SpringBoot快速整合SqLite

时间:2025-01-22 16:46:40浏览次数:1  
标签:SqLite Java SpringBoot nullable Column private 整合 true name

SpringBoot 快速整合SqLite

1)SqLite简介

SQLite,是一款轻型的数据库,是遵守ACID关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHPJava等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2021年已经接近有21个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

2)依赖导入

<!-- 添加数据库依赖-->
        <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
        </dependency>
        <!-- 从 Hibernate 6 开始,支持 SQLite 方言。-->
        <!-- https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-community-dialects -->
        <dependency>
            <groupId>org.hibernate.orm</groupId>
            <artifactId>hibernate-community-dialects</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>

        <!-- Spring Data JPA -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

3)Yaml配置

--- #配置SQLLite数据库信息
sqlLite:
  dbFilePath: ${APP_DB:edge.db}
spring:
  datasource:
    url: jdbc:sqlite:${sqlLite.dbFilePath}
    driver-class-name: org.sqlite.JDBC
  jpa:
    database-platform: org.hibernate.community.dialect.SQLiteDialect
    hibernate:
      ddl-auto: update #当表不存在的时候进行创建
      naming: #开启驼峰命令
        implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    show-sql: true

4)Dao层实现

注意:实体类可以通过Idea的持久化映射实现

a)创建Entity
/**
 * @author zxl
 */
@Entity
@Table(name = "edge_camera", schema = "main")
@Data
public class CameraEntity {
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Id
    @Column(name = "id", nullable = false)
    private Long id;
    /**
     * 方向
     */
    private Direction direction;
    /**
     * 租户id
     */
    private Long tenantId;
    /**
     * 道路id
     */
    private Long roadId;
    /**
     * @description Java Attribute variables
     */
    @Basic
    @Column(name = "name", nullable = true, length = -1)
    private String name;
    /**
     * @description Java Attribute variables
     */
    @Basic
    @Column(name = "sn", nullable = true, length = -1)
    private String sn;
    /**
     * @description Java Attribute variables
     */
    @Basic
    @Column(name = "username", nullable = true, length = -1)
    private String username;
    /**
     * @description Java Attribute variables
     */
    @Basic
    @Column(name = "password", nullable = true, length = -1)
    private String password;
    /**
     * @description Java Attribute variables
     */
    @Basic
    @Column(name = "ip", nullable = true, length = -1)
    private String ip;
    /**
     * @description Java Attribute variables
     */
    @Basic
    @Column(name = "port", nullable = true)
    private Integer port;
    /**
     * @description 摄像头类型
     */
    @Basic
    @Column(name = "vendor", nullable = true)
    private Vendor vendor;
    /**
     * @description Java Attribute variables
     */
    @Basic
    @Column(name = "run_status", nullable = true)
    private Integer runStatus;
}

b)实现Jpa接口
/**
 * @author zxl
 * @date 2024/12/20
 */
public interface CameraRepository extends JpaRepository<CameraEntity, Long> {

    /**
     * @param sn
     * @return CameraEntity
     */
    CameraEntity findBySn(String sn);

}

标签:SqLite,Java,SpringBoot,nullable,Column,private,整合,true,name
From: https://www.cnblogs.com/zxlyy/p/18686349

相关文章

  • SpringBoot3集成案例
    SpringBoot3-LearningLabsSpringBoot3-LearningLabs是一个开源项目,旨在为新手程序员提供一个全面的SpringBoot3.x学习平台。该项目通过一系列精心设计的演示(demo)来展示SpringBoot3的核心功能和最佳实践。无论是微服务架构、数据访问、安全性、异步消息传递还是其他高级......
  • 【开源】基于SpringBoot框架教学资料管理系统(计算机毕业设计)+万字毕业论文 T286
    系统合集跳转源码获取链接点击主页更能获取海量源码10年计算机开发经验,主营业务:源码获取、项目二开、语音辅导、远程调试、毕业设计、课程设计、毕业论文、BUG修改一、系统环境运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。IDE环境......
  • 【开源】基于SpringBoot框架智慧校园管理系统(计算机毕业设计)+万字毕业论文 T291
    系统合集跳转源码获取链接点击主页更能获取海量源码10年计算机开发经验,主营业务:源码获取、项目二开、语音辅导、远程调试、毕业设计、课程设计、毕业论文、BUG修改一、系统环境运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。IDE环境......
  • 【开源】基于SpringBoot框架汽车租赁系统(计算机毕业设计)+万字毕业论文 T296
    系统合集跳转源码获取链接点击主页更能获取海量源码10年计算机开发经验,主营业务:源码获取、项目二开、语音辅导、远程调试、毕业设计、课程设计、毕业论文、BUG修改一、系统环境运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。IDE环境......
  • 基于springboot高校校外实训基地管理系统
    一、系统背景与意义随着高校教育的不断发展,校外实训基地已成为学生实践教学的重要环节。然而,传统的实训基地管理方式存在诸多问题,如信息记录不完整、管理流程繁琐、沟通不畅等,这些问题严重影响了实训基地的使用效率和学生的实践效果。因此,开发一个高效、便捷的实训基地管理......
  • SpringBoot整合minio(实现minio-starter)
    SpringBoot整合minio(实现minio-starter)1)依赖导入<dependencies><!--工具类相关--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></depe......
  • SpringBoot(Spring)中为什么不推荐使用@Autowired?
    在Spring框架中,依赖注入是一种常见的设计模式,用于实现对象之间的解耦。Spring提供了多种依赖注入的方式,其中@Autowired注解是最常用的一种。然而,在SpringBoot中,官方并不推荐使用@Autowired注解进行依赖注入,而是推荐使用构造函数注入。本文将详细分析为什么不推荐使用@Autowired......
  • 计算机毕业设计Springboot基于的露营活动装备租凭系统 基于Spring Boot的户外露营装备
    计算机毕业设计Springboot基于的露营活动装备租凭系统6fnmr8bp(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着户外露营活动的兴起,越来越多的人开始追求亲近自然的生活方式。然而,高昂的露营装备购置成本、使用后的存放问题以及......
  • 计算机毕业设计Springboot基于大数据的红色旅游景点可视化安全分析系统 基于Spring Bo
    计算机毕业设计Springboot基于大数据的红色旅游景点可视化安全分析系统995q07gh(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着信息技术的飞速发展和大数据时代的到来,红色旅游作为中国文化旅游的重要组成部分,承载着丰富的历史......
  • 计算机毕业设计Springboot基于Java的医院床位管理系统 基于Spring Boot的Java医院床位
    计算机毕业设计Springboot基于Java的医院床位管理系统18b553a9(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着医疗行业的不断发展,医院床位管理系统的开发成为了提升医疗服务效率的关键环节。传统的人工管理方式不仅效率低下,还......