sqlite数据库操作

java sqlite android it


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服务是不是开机

你的评论

就没有什么想说的吗?

最新博客

关于我们 加入传客 媒体报道 帮助中心 传客活动 免责声明 联系我们 移动版 移动应用

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X