【Java】【sqlite】【数据库】
2023-09-11 14:16:50 时间
一、maven依赖
<!-- 操作sqlite数据库 start--> <!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.7.2</version> </dependency> <!-- 操作sqlite数据库 end--> <!-- lombok插件 start--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency> <!-- lombok插件 end-->
二、封装工具类
备注:可直接copy使用
package com.database; import lombok.Data; import java.sql.*; /** * @Author: Jarvis * @Date: 2020/6/28 23:44 * @Version: v1.0.0 * @Description: */ @Data public class ZgxSqliteDbUtil { public enum SqlType { UPDATE("更新"), QUERY("查询"); String desc = ""; SqlType(String desc) { this.desc = desc; } public String getDesc() { return desc; } } private Connection conn; private Statement stat; public ZgxSqliteDbUtil(String dbPath) { //连接SQLite的JDBC try { Class.forName("org.sqlite.JDBC"); //建立一个数据库名dbPath路径下的db的连接,如果不存在就在当前目录下创建 Connection conn = DriverManager.getConnection(String.format("jdbc:sqlite:%s", dbPath)); Statement stat = conn.createStatement(); this.stat = stat; this.conn = conn; } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public void closeConnect() { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } /** * 功能:执行sql语句 * * @param sqlType sql语句类型(更新SqlType.UPDATE、查询SqlType.QUERY) * @param sql sql语句 */ public void execSql(SqlType sqlType, String sql) { try { // 场景1 更新操作 if (sqlType == SqlType.UPDATE) { stat.executeUpdate(sql); System.out.println(String.format("执行SQL语句:%s", sql)); } // 场景2 查询操作 if (sqlType == SqlType.QUERY) { ResultSet resultSet = stat.executeQuery(sql); System.out.println(String.format("执行SQL语句:%s", sql)); ResultSet rs = stat.executeQuery("select * from tbl1;"); //查询数据 // while (rs.next()) { //将查询到的数据打印出来 // System.out.print("name = " + rs.getString("name") + " "); //列属性一 // System.out.println("salary = " + rs.getString("salary")); //列属性二 // } } } catch (Exception e) { e.printStackTrace(); } } }
相关文章
- MySQL_(Java)【连接池】简单在JDBCUtils.java中创建连接池
- Java实现 LeetCode 470 用 Rand7() 实现 Rand10()
- java中ThreadLocal类的详细介绍(详解)
- java实现数字的值返回
- java实现第七届蓝桥杯分小组
- Java实现 蓝桥杯VIP 算法提高 最小乘积(提高型)
- (Java实现)洛谷 P2095 营养膳食
- Java实现蓝桥杯第八届决赛 对局匹配
- 【JAVA】 04-Java中的多线程
- 【JAVA】毕向东Java基础视频教程-笔记
- 灵魂拷问:Java对象的内存分配过程是如何保证线程安全的?(阿里面试)
- Java java.util.concurrent.Future的一个例子
- 如何在 SAP BTP Java 应用里使用 SQLite 数据库
- Interview:Java岗位面试—面试求职攻略之一个JAVA程序员面试心得(非常值得收藏)
- 【java】Java连接mysql数据库及mysql驱动jar包下载和使用
- java中的transient 详细总结Java中transient关键字 对象写出流ObjectOutputStream 对象写入流ObjectInputStream
- 【JAVA】【NIO】5、Java NIO Scatter / Gather
- Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释
- java-mybaits-017-mybatis知识点like
- Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释
- java经典面试题之Spring Boot 面试题汇总附答案(史上最全持续更新)
- 【java】Java并发编程系列-基础知识(非常详细哦)
- JAVA开发讲义(二)-Java程序设计之数据之谜三