首页 > 数据库 >springboot整合jpa sqlite

springboot整合jpa sqlite

时间:2023-10-12 20:45:01浏览次数:35  
标签:sqlite springboot jpa spring db SQLITE 主键

前言

最近有关项目需要用到SQLITE,我先是使用Mybatis去连接SQLITE,然后发现SQLITE对BLOB支持不好,在网上看到相关教程可以写mapper.xml文件,加一个handler解决BLOB支持的问题,但是又发现Mybatis还对SQLITE的自增主键不支持,不能正常自增主键,而且Mybatis读取几十MB的BLOB文件很慢,最后换到JPA,JPA不仅支持自增主键,而且读大文件blob性能也比SQLITE好。

一、pom依赖导入

		<dependency>
			<groupId>org.xerial</groupId>
			<artifactId>sqlite-jdbc</artifactId>
			<version>3.43.0.0</version>
		</dependency>

		<dependency>
			<groupId>com.github.gwenn</groupId>
			<artifactId>sqlite-dialect</artifactId>
			<version>0.1.2</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>

二、application.properties

spring.datasource.driver-class-name=org.sqlite.JDBC
#spring.datasource.url=jdbc:sqlite:E:/db/test.db
spring.datasource.url=jdbc:sqlite::resource:db/test.db
spring.jpa.show-sql=false

三、Repository

@Repository
public interface BrightnessRRepository extends JpaRepository<BrightnessR, Integer> {


}

四、使用(省略Service层)

brightnessRRepository.save(brightnessR);

标签:sqlite,springboot,jpa,spring,db,SQLITE,主键
From: https://www.cnblogs.com/scottyzh/p/17760507.html

相关文章

  • SpringBoot获取Bean的工具类
    1、beanName默认是类名首字母小写下面的类:beanName=bean1@ComponentpublicclassBean1{publicStringgetBean1(){return"Bean1";}}修改beanName下面的类:beanName=bean2New@Component("bean2New")publicclassBean2{......
  • 解决 springboot 2.6.6 版本中内嵌 tomcat 9.0.60 版本 严格执行RFC 3986规范,导致在 G
    项目中get请求:http://domain:port/api/module/function/getList?pageNum=1&pageSize=1000&keyWord=[]&id=;keyWord的参数应该是 keyWord="[]",如果不加双引号,keyWord就变成了数组,后台接口就报错了。调查原因:springboot2.6.6版本中内嵌tomcat9.0.60版本严格执行RFC3986规范......
  • SpringBootCMS漏洞复现分析
    SpringBootCMS,极速开发,动态添加字段,自定义标签,动态创建数据库表并crud数据,数据库备份、还原,动态添加站点(多站点功能),一键生成模板代码,让您轻松打造自己的独立网站,同时也方便二次开发,让您快速搭建个性化独立网站,为您节约更多时间。http://www.jrecms.com环境搭建修改src/main/......
  • SpringBoot + SpringBatch + Quartz整合定时批量任务
    1、引言最近一周,被借调到其他部门,赶一个紧急需求,需求内容如下:PC网页触发一条设备升级记录(下图),后台要定时批量设备更新。这里定时要用到Quartz,批量数据处理要用到SpringBatch,二者结合,可以完成该需求。由于之前,没有用过SpringBatch,于是上网查了下资料,发现可参考的不是很多,于是只能去......
  • 忽视日志吃大亏,手把手教你玩转 SpringBoot 日志
    一、日志重要吗程序中的日志重要吗?在回答这个问题前,笔者先说个事例:❝笔者印象尤深的就是去年某个同事,收到了客户反馈的紧急bug。尽管申请到了日志文件,但因为很多关键步骤没有打印日志,导致排查进度很慢,数个小时都没能排查到问题,也无法给出解决对策。导致了客户程序一直阻断,最......
  • springboot跨域解决方案
    @BeanpublicCorsFiltercorsFilter(){CorsConfigurationconfig=newCorsConfiguration();config.addAllowedOriginPattern("*");config.setAllowCredentials(true);config.addAllowedMethod("OPTIONS");......
  • 7min到40s:SpringBoot 启动优化实践!
    0背景公司SpringBoot项目在日常开发过程中发现服务启动过程异常缓慢,常常需要6-7分钟才能暴露端口,严重降低开发效率。通过SpringBoot的SpringApplicationRunListener、BeanPostProcessor原理和源码调试等手段排查发现,在Bean扫描和Bean注入这个两个阶段有很大的性能......
  • SpringBoot实现CORS跨域的三种方式
    一、实现WebMvcConfigurer接口@ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer{/***添加跨域支持*/@OverridepublicvoidaddCorsMappings(CorsRegistryregistry){//允许跨域访问的路径'/**'表示应用的所有方法......
  • SpringBoot一个小案例
    pojopublicclassUser{privateintuserid;publicUser(intuserid){this.userid=userid;}publicUser(){}publicintgetUserid(){returnuserid;}publicvoidsetUserid(intuserid){this.userid=userid;}}controller@Controller@......
  • springboot启动后异步启动一个程序
    如果你想在SpringBoot启动后异步方式启动一个方法,你可以使用SpringFramework的异步支持和 @Async 注解来实现。以下是如何在SpringBoot应用程序中异步方式启动一个方法的步骤:配置异步支持: 首先,在应用程序的主类上添加 @EnableAsync 注解,以启用异步支持importor......