当前位置: 传客网 > sqlite数据库操作

sqlite数据库操作

2016-12-25 作者:鸿音晓枫


package org.hyxf.data;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import org.hyxf.bean.joke;
import org.hyxf.common.CommonUtils;
import org.hyxf.common.Constants;


public class DataUtils {

    static String filepath = Constants.FILE_PATH;
    static {
        try {
            Class.forName("org.sqlite.JDBC");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    // 获得连接
    private static Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:sqlite:/" + filepath);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

    // 关闭连接
    private static void closeConnection(ResultSet rs,
            PreparedStatement statement, Connection con) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        if (con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    public static void AddJokeList(ArrayList list){
        String sql = "insert into joke(title,content,type) values(?,?,?);";
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            for (joke joke : list) {
                ps.setString(1, joke.getTitle());
                ps.setString(2, joke.getContent());
                ps.setString(3, joke.getType());
                ps.addBatch();
            }
            conn.setAutoCommit(false);
            ps.executeBatch();
            conn.setAutoCommit(true);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            closeConnection(null, ps, conn);
        }
    }

    public static void UpdateJoke(joke mjoke) {
        String sql = "update joke set title=?,content=?,type=? where _id=?";
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            if (mjoke != null) {
                ps.setString(1, mjoke.getTitle());
                ps.setString(2, mjoke.getContent());
                ps.setString(3, mjoke.getType());
                ps.setInt(4, mjoke.get_id());
            }
            ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeConnection(null, ps, conn);
        }
    }

    public static ArrayList GetJokeList(String desc) {
        String sql = "select * from joke";
        
        if (!CommonUtils.isEmpty(desc) && desc.toLowerCase() == "desc") {
            sql += " order by _id desc";
        }
        ArrayList mlist = new ArrayList();
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            
            rs = ps.executeQuery();
            ResultSetMetaData rsmd = rs.getMetaData();
            int column = rsmd.getColumnCount();
            mlist.ensureCapacity(column);
            while (rs.next()) {
                joke j = new joke();
                j.setTitle(rs.getString("title"));
                j.setContent(rs.getString("content"));
                j.setType(rs.getString("type"));
                mlist.add(j);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeConnection(rs, ps, conn);
        }
        return mlist;
    }
    
    public static int GetJokeListCount() {
        String sql = "select count(*) from joke";
        int count=0;
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            conn = getConnection();
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            if(rs.next()){
                count=rs.getInt(1);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            closeConnection(rs, ps, conn);
        }
        return count;
    }
}



相关推荐

  • linux c编程操作数据库(sqlite3应用)

    C/C++语言中调用sqlite的函数接口来实现对数据库的管理(创建数据库、创建表格、插入数据、查询、数据、删除数据等)。首先要编译好sqlite的库文件:libsqlite3.alibsqlite3.lalibsqlite3.solibs

  • 源码推荐(7.23):FMDBModel使你的实体类具备直接操作数据库的功能,Switch 开关动

    FMDB的封装,使你的实体类具备数据库操作的功能,极大简化你的数据库操作,对于自己的扩展也非常简单。该框架是本人在项目中用到的对FMDB的封装,它的特点如下:1.自动创建数据库、自动创建数据库表。2.自动检测字段添加新字段。3.一行代码实现

  • 在Linux下用C语言操作数据库sqlite3(插入)

    插入:insert 刚刚我们知道了怎么调用sqlite3的C/C++的API函数接口,下面我们看看怎么在C语言中向数据库插入数据。  好的,我们现编辑一段c代码,取名为insert.c//name:insert.c//Thisprogisu

  • abap操作数据库

    本文转自翱翔云天的博客,是为了学习时候方便查阅现在介绍一些abap的数据库操作…….TheDatabaseInterface(数据库接口)为了避开各种数据库的操作语句,函数,功能的不同,R/3系统在每个工作进程(workprocess)里面

  • Android Studio平台使用GreenDao操作数据库

    一.GreenDao是什么?简单说就是一个可以方便操作SQLite数据库的第三方库;二.使用流程1.创建一个java程序;2.在java程序中书写代码,运行后会生成一系列实体类和其他类(详细下面会说),代码中指定生成的类的路径、数据库表的字

  • vb使用adodb操作数据库常用方法

    ADO常用方法下面是我所掌握的使用ADO对数据库操作的一些常用方法,主要是提供给初学者作为参考,有不对的地方请指正。如有补充不胜荣幸准备工作========DimconnAsNewADODB.Connection'创建一个Connectio

  • JDBC(用Eclipse操作数据库Oracle)的基础操作集合

    JDBC:JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以

  • 一.操作数据库

    1.登录数据库本地mysql-uroot-p登录服务器数据库mysql-h192.168.1.251-uroot-p2.查看已经存在的数据库showdatabases;3.查看默认存储引擎showvariableslike'storage_

  • “简单事务操作”数据库(NO-SQL数据库)应用系统的可扩展性设计的十条原则

    原文:《TenRulesforScalablePerformancein“SimpleOperation”Datastores》ByMichaelStonebrakerandRickCattell作者简介:(MIT教授,多家公司和项目的开创

  • NetBeans下构建操作数据库行的Web应用程序(二)

    本教程介绍了如何使用具备Web功能的NetBeansIDE构建一个可以创建、检索、更新和删除数据库行的Web应用程序。该应用程序提供一个主数据的下拉列表以及一个同步的详细信息表。该应用程序的用户可以在详细信息表及其关联数据库中添加、更新和删

  • C++ ADO操作数据库

    #include"stdafx.h"#include"winSock2.h"#import"c:\programfiles\commonfiles\system\ado\msado15.dll"no_namespacerename("EOF

  • Centos6.5操作数据库

    1.显示安装数据库信息命令:rpm-qimysql-server​2.启动数据库服务命令:servicemysqldstart​重启:servicemysqldrestart​查看mysql服务是不是开机

  • 操作数据库“增删该查”

    C#操作数据库“增删该查”//////增加记录/////////privatevoidbuttonX2_Click(objectsender,EventArgse){stringconstr="Server=ADMIN-PC\\SQLEXP

  • c# 操作数据库要点(一)

    处理BLOB现在,许多应用程序除了处理较为传统的字符和数值数据以外,还需要处理诸如图形和声音之类的数据格式,甚至需要处理更为复杂的数据格式,如视频。存在许多不同类型的图形、声音和视频格式。不过,从存储角度而言,它们都可以视为二进制数据块,通

  • java程序是怎么操作数据库的?

    Java实现连接sqlserver第一种:通过ODBC连接数据库JAVA语言的跨平台的工作能力(WriteOnce,RunAnywhere)、优秀的图像处理能力(我相信现在没有那种语言可以超过JAVA在网络上的图形处理能力)、网络通信功能、

  • linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql

    1.MySQL的安装与配置:在Ubuntu下安装MySQL方法很简单,使用如下命令:复制代码代码如下:sudoapt-getinstallmysql-server安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设

  • iphone开发之iphone操作数据库

    1#import<UIKit/UIKit.h>2#import"sqlite3.h"34#definekFilename@"data.sqlite3"5@interfacePersistenceViewController:UI

  • 如何更改操作数据库软件phpmyadmin用户名密码,管理员账号密码

    安装phpmyadmin其实很简单:  1、下载phpmyadmin的最新版程序。  官方下载:abcdjs025.blog.sohu.com/  2、解压并上传到站点目录(前提这个站点要配置了php支持,这里不做多讲)。  3、复制lib

  • ASP操作数据库

    <!--#includefile="conn.asp"--><%setrs=server.createobject("adodb.recordset")rsstr="select*fromnews"rs.openrsstr

  • hibernate 使用 面向对象的方法操作数据库.

    1添加jar包,hibernate8个2.src下建立配置文件hibernate.cfg.xml<?xmlversion='1.0'encoding='utf-8'?><!DOCTYPEhibernate-configur

返回
顶部