Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1147940
  • 博文数量: 290
  • 博客积分: 3468
  • 博客等级: 中校
  • 技术积分: 3461
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-28 22:21
文章分类

全部博文(290)

文章存档

2016年(13)

2015年(3)

2014年(42)

2013年(67)

2012年(90)

2011年(75)

分类: Java

2012-04-06 13:53:30

系统环境:ubuntu10.04

1. 下载sqlite数据库第三方java扩展包
下载地址:http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC
将其放至 $JAVA_HOME/lib 目录下(我的是在
/usr/lib/jvm/java-6-openjdk/lib

2. 设置环境变量
$ export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
#注意把新添加的JDK的bin目录追加在$PATH的最前面,这样当系统中安装有多个JDK版本时,程序会优先搜寻排在最前面的JDK版本。
$ export PATH=$JAVA_HOME/bin:$PATH
此处为把下载的
sqlite数据库第三方java扩展包加入环境变量
$ export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/sqlite-jdbc-3.6.23.1-beta-1-SNAPSHOT.jar:$CLASSPATH


3. 测试用例

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class DataBase_OP
{
   
    public DataBase_OP()
    {
        System.out.println("it's database_op");
   
    }
   
    public Connection getConnection()
    {
        try
        {
            Class.forName("org.sqlite.JDBC");
            Connection conn = DriverManager.getConnection("jdbc:sqlite:data.db");
            return conn;
        }
        catch(Exception e)
        {
            System.out.println("123exception");
            e.printStackTrace();
            return null;
        }
       
    }
   
    public void searchAll()
    {
        try
        {
            Connection conn = getConnection();
            Statement stat = conn.createStatement();
            ResultSet rs = stat.executeQuery("select * from save_data;");
            int i = 0;
            while (rs.next())
            {
                i++;
                System.out.print("ID:" +i);
                System.out.print("num: " + rs.getString("num"));
                System.out.print("id: " + rs.getString("id"));
                System.out.print("data: " + rs.getString("data"));
                System.out.println("time: " + rs.getString("time"));
            }
           
            rs.close();
            stat.close();
            conn.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
   
    public void searchById(String id)
    {
        try
        {
            Connection conn = getConnection();
            PreparedStatement stat = conn.prepareStatement("select * from save_data where id=?;");
            stat.setString(1, id);
            ResultSet rs = stat.executeQuery();
            int i = 0;
            while (rs.next())
            {
                i++;
                System.out.print("ID:" +i);
                System.out.print("num: " + rs.getString("num"));
                System.out.print("id: " + rs.getString("id"));
                System.out.print("data: " + rs.getString("data"));
                System.out.println("time: " + rs.getString("time"));
            }
           
            rs.close();
            stat.close();
            conn.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
   
   
    public void deleteAll()
    {
        try
        {
            Connection conn = getConnection();
            Statement stat = conn.createStatement();
            stat.executeUpdate("delete from save_data;");
   
            stat.close();
            conn.close();
           
            this.searchAll();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
   
    public void deleteById(String id)
    {
        try
        {

            Connection conn = getConnection();
            PreparedStatement stat = conn.prepareStatement("delete from save_data where id=?;");
            stat.setString(1, id);
            stat.executeUpdate();
           
            stat.close();
            conn.close();
           
            this.searchAll();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
   
    public void insert(String id,String data,String time)
    {
        try
        {
            Connection conn = this.getConnection();
            PreparedStatement stat = conn.prepareStatement("insert into save_data values(null,?,?,?);");
            stat.setString(1, id);
            stat.setString(2,data);
            stat.setString(3, time);
            stat.executeUpdate();
           
            stat.close();
            conn.close();
           
            this.searchById(id);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    public void createThread()
    {
        tsThread = new Thread(this,"db");
        tsThread.start();
    }
   
    public void run()
    {
        if (tsThread != null)
        {
            this.searchAll();
        }
    }
   
    public static void main(String args[])
    {
        DataBase_OP ts = new DataBase_OP();

        ts.insert("2015", "1234", "2012-04-06");
        ts.searchById("save_data","2015");
        ts.deleteById("2015");

    }

}

4. 编译运行
$ sqlite3 data.db //创建data.db 数据库,并建一张名了 save_data 的表
CREATE TABLE save_data(num integer primary key, id int, data text, time text);

$ javac DataBase_OP.java
$ java DatatBase

5.参考链接
http://ttitfly.iteye.com/blog/143934
阅读(7054) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~