首页 > 数据库 > > springboot集成sqlite数据库
下载连接:www.sqlite.org/download.ht…
.open test.db
navicat 连接数据sqlite
jdbc 连接sqlite
implementation 'org.xerial:sqlite-jdbc:3.28.0'
implementation 'p6spy:p6spy:3.8.7'
复制代码
#sqlite
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.driver-class-name= com.p6spy.engine.spy.P6SpyDriver
spring.datasource.url=jdbc:p6spy:sqlite:D:\\work\\sqllite\\sqlite-tools-win32-x86-3370000\\crpt.db
# 最小空闲连接数量
spring.datasource.hikari.minimum-idle=1
# 空闲连接存活最大时间,默认600000(10分钟)
server.jetty.connection-idle-timeout=180000
# 连接池最大连接数,默认是10
spring.datasource.hikari.maximum-pool-size=1
# 此属性控制从池返回的连接的默认自动提交行为,默认值:true
spring.datasource.hikari.auto-commit=true
# 连接池名称
# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
spring.datasource.hikari.max-lifetime=60000
# 数据库连接超时时间,默认30秒,即30000
spring.datasource.hikari.connection-timeout=30000
ikari.connection-timeout=30000
#连接测试查询
spring.datasource.hikari.connection-test-query=SELECT 1
复制代码
注意:spring.datasource.url数据库连接也可以用相对路径方便测试,但是部署不能用相对路径,必须放到部署机器本地(为什么自己去想)。
spring.datasource.url:jdbc:p6spy:sqlite:resource:sqlite/crpt.db
@Configuration
@Slf4j
public class DataSourceConfiguration {
@Bean
public DataSource getDataSource() {
DataSourceBuilder<?> dataSourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.driverClassName("com.p6spy.engine.spy.P6SpyDriver");
dataSourceBuilder.url("jdbc:p6spy:sqlite:" + NativeLoader.DbUrl);
return dataSourceBuilder.build();
}
}
复制代码
此方法需要在bean注入之前给NativeLoader.DbUrl赋值即可
创建数据表,默认main数据库,没必要再附加其他数据库
sqlite数据类型
亲和类型: INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8
亲和类型: REAL DOUBLE DOUBLE PRECISION FLOAT
亲和类型: CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB
亲和类型: BLOB no datatype specified
TEXT 格式为 "YYYY-MM-DD HH:MM:SS.SSS" 的日期。 REAL 从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。 INTEGER 从 1970-01-01 00:00:00 UTC 算起的秒数。
DROP TABLE IF EXISTS "equip";
CREATE TABLE "equip" (
"id" integer,
"is_bpa" integer,
"equip_type" integer,
"type_str" TEXT(2),
"name" TEXT(50),
"del_flag" integer(1),
"attributes" TEXT,
"update_time" TEXT,
"create_time" TEXT,
PRIMARY KEY ("id")
);
复制代码
基本表创建完成后可以和mybatis结合,增删查改和MySQL无异,如果有特殊语句自行查询,最后提一点,sqlite支持多线程查询,但不支持多线程修改,不然会抛出异常[SQLITE_BUSY] The database file is locked (database is locked)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3136419/ ,如需转载,请注明出处,否则将追究法律责任。