首页 > 技术文章 > sqlite-jdbc的简单实例

QEStack 2018-01-08 15:32 原文

sqlite是一种最轻量级的数据库,也是安卓开发钦定的数据库类型。选用xerial sqlite-jdbc作为本示例的driver。

实现数据库的遍历读取,插入,删除。

数据库位置:D:\\Program Files\\sqlitemanager\\SQLiteStudio\\EventSQL

数据库表例:

代码: 

 (已将jdbc的jar文件导入工程)

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SQLiteHelper
{
    final static String URL_DB="D:\\Program Files\\sqlitemanager\\SQLiteStudio\\EventSQL"; //数据库存放位置
    final static String CLASS_NAME="org.sqlite.JDBC";    //jdbc类型
    Connection connection = null;
    public void readallitem()
    {
        try
        {
            connection=DriverManager.getConnection("jdbc:sqlite:"+URL_DB);
            Statement statement=connection.createStatement();
            ResultSet re=statement.executeQuery("SELECT WHATTODO,WHENTODO FROM EVENTTABLE");
            while(re.next())
            {
                String what=re.getString("WHATTODO");
                String when=re.getString("WHENTODO");
                System.out.println(what+" "+when);
            }
        }catch(SQLException e)
        {
            e.printStackTrace();
        }
        finally
        {
            try {
            if(connection!=null)
            connection.close();
            }catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    public void additem(String what,long when)
    {
        try
        {
            connection=DriverManager.getConnection("jdbc:sqlite:"+URL_DB);
            Statement s=connection.createStatement();
            s.execute("INSERT INTO EVENTTABLE(WHATTODO,WHENTODO) VALUES ('"+what+"',"+when+")");
            System.out.println("INSERT INTO EVENTTABLE(WHATTODO,WHENTODO) VALUES ('"+what+"',"+when+")");
        }catch (SQLException e) {
            // TODO: handle exception
            e.printStackTrace();
        }finally {
            try {
                if(connection!=null)
                    connection.close();
            } catch (SQLException e2) {
                // TODO: handle exception
                e2.printStackTrace();
            }
        }
    }
    public void deleteitem(String what)
    {
        try {
            connection=DriverManager.getConnection("jdbc:sqlite:"+URL_DB);
            Statement statement=connection.createStatement();
            statement.execute("DELETE FROM EVENTTABLE WHERE WHATTODO='"+what+"'");
            System.out.println("DELETE FROM EVENTTABLE WHERE WHATTODO='"+what+"'");
        }catch (SQLException e) {
            e.printStackTrace();
        }finally
        {
            try
            {
                if(connection!=null)
                    connection.close();
            }catch (SQLException e) {
                e.printStackTrace();
                // TODO: handle exception
            }
        }
    }
    public static void main(String[] args) 
    {
        try 
        {
        Class.forName(CLASS_NAME).newInstance();
        SQLiteHelper sqLiteHelper=new SQLiteHelper();
        sqLiteHelper.readallitem();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

 

推荐阅读