关于java项目中sqlite数据库的使用案例少之又少,查阅资料 最多只是怎么连接 并没有对对象的操作..实现对其数据的增删给查操作,为此,结合JDBC技术写的通过JDBC访问操作sqlite数据库.不喜勿喷!!!
转载请注明出处------------------Annhoa
DBConnection.java
package com.darkblue.dynem.util.sqlitedb; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; import com.darkblue.dynem.util.filehelp.FileBean; /** * @author Annhoa * @date 2017/07/26 * @since JDBC connection of sqlite * @version 1.0 * */ public class DBConnection { private static final Logger log = Logger.getLogger(DBConnection.class.toString()); private static Connection conn; private static Statement stat; private static PreparedStatement prep; private static ResultSet rst; /** * 连接到数据库 * @param创建表sql */ public DBConnection(String jdbc,String sql){ try { Class.forName("org.sqlite.JDBC"); conn=DriverManager.getConnection(jdbc); stat=conn.createStatement(); log.info("连接到Sqlite"); //sql创建表语句 stat.executeUpdate(sql); log.info("创建Sqlite表"); } catch (Exception e) { e.printStackTrace(); } } /** * 通用增删改 * */ public static int executeUpdate(String sql,Object[] obs){ try { prep=conn.prepareStatement(sql); if(obs!=null&&obs.length>0){ for (int i = 0; i < obs.length; i++) { prep.setObject(i+1, obs[i]); } } int row=prep.executeUpdate(); if(row>0){ // conn.commit(); //oracle数据库用到 return row; } } catch (SQLException e) { e.printStackTrace(); } return -1; } /** * 通用查询 * */ public static ResultSet executeQuery(String sql,Object[] obs){ try { prep=conn.prepareStatement(sql); if(obs!=null&&obs.length>0){ for (int i = 0; i < obs.length; i++) { prep.setObject(i+1, obs[i]); } } rst = prep.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return rst; } }
FileBeanDBHelper.java
package com.darkblue.dynem.util.sqlitedb; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.darkblue.dynem.util.filehelp.FileBean; public class FileBeanDBHelper { private ResultSet rst=null; private DBConnection sqliteHelper; /** * @author Annhoa * @date 2017/07/26 * @since fileBean数据库操作 * @version 1.0 * */ //关闭还未处理 public FileBeanDBHelper(){ String dbString ="jdbc:sqlite:test.db"; sqliteHelper = new DBConnection(dbString,"CREATE TABLE IF NOT EXISTS table0 " + "(id CHAR(20) PRIMARY KEY NOT NULL, filename CHAR(50) not null, " + "filesize LONG ,filepath CHAR(50), filesource CHAR(50))"); } public boolean save(FileBean fb) { String sql="insert into table0 values(?,?,?,?,?)"; int row=DBConnection.executeUpdate(sql, new String[]{ fb.getId(), fb.getFilename(), fb.getFilesize()+"", fb.getFilepath(), fb.getFilesource() }); if(row>0){ return true; } return false; } @SuppressWarnings("static-access") public boolean update(FileBean fb) { String sql="update table0 set id=?,filename=?,filesize=?,filepath=?,filesource=?"; int row=sqliteHelper.executeUpdate(sql, new String[]{ fb.getId(), fb.getFilename(), fb.getFilesize()+"", fb.getFilepath(), fb.getFilesource() }); if(row>0){ return true; } return false; } public boolean delById(String id) { String sql="delete from table0 where id=?"; int row=sqliteHelper.executeUpdate(sql, new String[]{ id }); if(row>0){ return true; } return false; } public FileBean findById(String id) { String sql="select * from table0 where id=?"; rst=sqliteHelper.executeQuery(sql, new String[]{id}); try { if(rst.next()){ FileBean fb=new FileBean(rst.getString(1), rst.getString(2), rst.getLong(3), rst.getString(4), rst.getString(5)); return fb; } } catch (SQLException e) { e.printStackTrace(); } return null; } public List<FileBean> findAll(String filename) { String sql="select * from table0 where 1=1"; if(filename!=null&&!filename.trim().equals("")){ sql+=" and filename='"+filename+"'"; } sql+=" order by id"; rst=sqliteHelper.executeQuery(sql, null); List<FileBean> listfb=new ArrayList<FileBean>(); try { while(rst.next()){ FileBean fb=new FileBean(rst.getString(1), rst.getString(2), rst.getLong(3), rst.getString(4), rst.getString(5)); listfb.add(fb); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return listfb; } public static void main(String[] args) { FileBean fb=new FileBean(); fb.setId("3"); fb.setFilename("xxxxx.txt"); fb.setFilepath("C:/Users/Administrator/Desktop"); fb.setFilesize(323); fb.setFilesource(""); boolean flag = new FileBeanDBHelper().save(fb); System.out.println(flag); List<FileBean> list = new FileBeanDBHelper().findAll(null);System.out.println(list); } }
FileBean.java
package com.darkblue.dynem.util.filehelp; import java.io.Serializable; /** * 发送消息列表 * Created by Administrator on 2016/8/12. */ public class FileBean implements Serializable { public String id; public long filesize;//文件大小 public String filename;//文件名字 public String filepath;//文件路径 public String filesource;//文件分享源 //添加构造方法 public FileBean(String id,String filename,long filesize,String filepath,String filesource){ super(); this.id = id; this.filename = filename; this.filesize = filesize; this.filepath = filepath; this.filesource = filesource; } public String getFilesource() { return filesource; } public void setFilesource(String filesource) { this.filesource = filesource; } public long getFilesize() { return filesize; } public void setFilesize(long filesize) { this.filesize = filesize; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getFilename() { return filename; } public void setFilename(String filename) { this.filename = filename; } public String getFilepath() { return filepath; } public void setFilepath(String filepath) { this.filepath = filepath; } @Override public String toString() { return "FileBean{" + "id='" + id + '\'' + ", filesize=" + filesize + ", filename='" + filename + '\'' + ", filepath='" + filepath + '\'' + ", filesource='" + filesource + '\'' + '}'; } public FileBean() { } public String toJsonString() { return "{\"id\":\"" + id + "\",\"filename\":\"" + filename + "\",\"filepath\":\"" + filepath + "\",\"filesize\":\"" + filesize + "\",\"filesource\":\"" + filesource + "\"}"; } }
相关推荐
通过这些基本操作,可以实现对SQLite数据库的增删改查功能。在开发过程中,务必注意资源的释放,如关闭连接和Statement对象,以避免内存泄漏。同时,为了提高代码的可读性和可维护性,建议使用PreparedStatement来...
本资源"javaweb增删改查(含源码).zip"提供了从基础到进阶的JavaWeb应用实例,主要涵盖了JSP、Servlet以及MVC设计模式的运用,旨在帮助开发者理解如何在实际项目中实现数据的增删改查操作。 首先,JSP(JavaServer...
下面将详细介绍如何将这三个组件与Quartz整合,并将定时任务的配置和状态持久化到数据库,实现动态的增删改查功能。 1. **Spring配置** 在Spring的配置文件中,我们需要引入Quartz的相关依赖。首先,定义一个`...
在这个"java swing 增删改查"的小项目中,我们可以推测开发者利用Swing 创建了一个简单的数据库操作应用,允许用户对数据进行添加、删除、修改和查询。 在Java Swing中,主要涉及以下几个核心知识点: 1. **容器与...
本教程将探讨如何在Android应用中使用JDBC(Java Database Connectivity)来连接并操作远程MySQL数据库,实现增删查改的基本功能。 首先,Android本身并不支持直接通过JDBC连接MySQL,因为Android的Java环境与标准...
通过学习和实践这个Java+Swing入门级增删改查源码,开发者可以快速掌握Swing的基本用法,理解如何处理用户交互,以及如何进行简单的文件操作。进一步,可以扩展此基础,学习更高级的Swing特性,如模型视图控制器...
2. **数据编辑**:直接在表格视图中编辑数据,支持增删改查操作。 3. **SQL执行**:编写并执行SQL语句,用于创建表、查询数据、修改结构等。 4. **导入/导出**:将数据从其他格式导入SQLite,或将SQLite数据导出为...
在本文中,我们将深入探讨如何使用Java编程语言与...无论是命令行应用还是具有图形界面的程序,都能够轻松地实现对SQLite数据库的增删改查操作。在实际项目中,可以结合框架如Spring JDBC或JPA来进一步简化数据库操作。
"实现部门员工管理增删改查"的系统设计与实现,旨在帮助初学者理解和掌握基础的编程逻辑以及数据库操作技术。这个小代码资源是为初学者量身定制的,旨在通过实践来提升他们的编程技能。 首先,我们要理解“增删改查...
在这个“商品数据库增删改查”的项目中,我们可以通过这三个技术来实现对商品信息的管理,包括用户的登录验证、数据查询、商品的添加、更新以及删除操作。 首先,JavaBean是一种符合JavaBeans规范的Java类,它主要...
在Android应用开发中,连接本地MySQL数据库以实现数据的增删查改是一项常见的需求,尤其在进行复杂的业务逻辑处理或毕业设计项目时。本项目旨在教你如何构建这样一个系统,通过Android客户端与本地运行的MySQL数据库...
这个系统提供了对学生信息的增删改查(CRUD)功能,是学习Java编程和软件工程实践的一个理想实践平台。 首先,"Java"作为标签,表明了该项目是用Java语言开发的。Java是一种广泛使用的面向对象编程语言,以其跨平台...
JDBC提供了一组接口和类,使得Java程序员能够编写与数据库无关的代码,实现对数据库的增删改查操作。SQLite JDBC驱动就是实现了这些接口的驱动程序,使得Java程序能够通过JDBC API连接到SQLite数据库。 安装SQLite ...
SQLite JDBC驱动程序使得Java开发者能够通过JDBC接口连接到SQLite数据库,执行SQL查询,进行数据的增删改查操作。 标题“sqlite-jdbc-3.7.2.rar”表明这是一个关于SQLite JDBC驱动的版本为3.7.2的压缩包。这个版本...
本文将深入探讨如何在多数据库环境中执行基本的增删查改(CRUD)操作,并以SQLite数据库为例进行详细说明。 增(Create)操作是指在数据库中创建新的数据记录。在多数据库环境下,首先需要建立数据库连接,这可能...
接下来,你可以使用以下步骤在Java中操作SQLite数据库: 1. 加载JDBC驱动: ```java Class.forName("org.sqlite.JDBC"); ``` 2. 创建数据库连接: ```java Connection conn = DriverManager.getConnection("jdbc:...
这个系统具备基本的增、删、改、查(CRUD)功能,可以帮助用户有效地管理和跟踪他们的财务状况。项目的前端界面提供了用户友好的交互,使得操作更加直观便捷。 在技术实现上,该项目使用了Java编程语言,这是一门...
本篇将详细介绍如何在JSP中通过Java Database Connectivity (JDBC) API来操作SQLite数据库,以实现数据的增、删、改、查等基本功能。 首先,你需要在项目中引入SQLite的JDBC驱动。你可以从SQLite官网下载JDBC驱动...
在Android开发中,SQLite是存储本地数据的重要手段,SQLiteOpenHelper类帮助开发者轻松地创建、升级和管理数据库,而SQLiteDatabase则提供了一系列的方法来执行SQL语句,实现数据的增删改查。 总结来说,SQLite是...
在IT行业中,数据库操作是核心技能之一,尤其是对于开发人员来说,掌握增删改查(CRUD:Create, Read, Update, Delete)是最基础也是最重要的能力。本题目的"一个表的增删改查功能的实现"是典型的面试场景,通常涉及...