springboot整合jpa sqlite

发布时间 2023-10-12 20:40:13作者: Scotyzh

前言

最近有关项目需要用到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);