Sqlite
sqlite是C实现的一个开源SQL引擎,其api提供sql语法支持,通过sql解析后对存储层的磁盘文件进行操作,完整配置的sqlite库小于400kb,多用于移动端应用,小型项目中。
对Sqlite有兴趣的可以了解下其体系结构

之前自研SQL解析器的时候便是借鉴了SQLcompiler的源码,这里不展开介绍
封装Java的Sqlite连接池
首先maven项目引入依赖sqlite-jdbc,其主要是java版的sqliteapi,关于Sqlite api的操作,大家可以看菜鸟教程
- <dependency>
- <groupId>org.xerial</groupId>
- <artifactId>sqlite-jdbc</artifactId>
- <version>3.30.1</version>
- </dependency>
同时引入spring jdbc方便解析数据
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- <version>5.3.12</version>
- </dependency>
先编写测试用例
- import org.junit.Test;
- import org.springframework.jdbc.core.RowMapper;
-
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.LinkedList;
- import java.util.List;
-
- public class TestSqliteHelper {
-
- @Test
- public void test() throws SQLException, ClassNotFoundException {
- SqliteHelper sqliteHelper = SqliteHelper.GetSqliteHelper("test.db");
-
- String sql = "CREATE TABLE COMPANY " +
- "(ID INT PRIMARY KEY NOT NULL," +
- " NAME TEXT NOT NULL, " +
- " AGE INT NOT NULL, " +
- " ADDRESS CHAR(50), " +
- " SALARY REAL)";
-
- sqliteHelper.ExecuteUpdate(sql);
-
- sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
- "VALUES (1, 'Paul', 32, 'California', 20000.00 );";
-
- sqliteHelper.ExecuteUpdate(sql);
-
- sql = "SELECT * FROM COMPANY;";
-
- List<String> datas = new LinkedList<>();
- datas = sqliteHelper.ExecuteQuery(sql, new RowMapper<String>() {
- @Override
- public String mapRow(ResultSet rs, int index)
- throws SQLException {
- return rs.getString("NAME");
-
- }
- }
- );
-
- sqliteHelper.PutSqliteHelper();
- }
- }
-
-
再根据TDD实现ExecuteUpdate\GetSqliteHelper、ExecuteQuery、PutSqliteHelper等方法
到此这篇关于Java 项目封装sqlite连接池操作持久化数据的文章就介绍到这了,更多相关java sqlite连接池操作内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!