java sqlite jdbc_java中使用jdbc连接SQLite3数据库 | 学步园

sqlite驱动jar包:

org.xerial

sqlite-jdbc

3.7.2

例子:

public   class   TestConn   {

void   test(){

Connection   conn   =   null;

Statement   stmt   =   null;

ResultSet   rset   =   null;

System.out.println(new   java.util.Date());

try   {

Class.forName("org.sqlite.JDBC");

conn   =   DriverManager.getConnection(

"jdbc:sqlite:/f:/test.db",

"",

"");

conn.setAutoCommit(false);

stmt   =   conn.createStatement();

stmt.executeUpdate("create   table   hehe(id   number,   name   varchar(32))");

System.out.println("建表hehe成功!");

for   (int   i=0;   i<1000000;   i++)

{

stmt.executeUpdate("INSERT   INTO   hehe   VALUES("+i+",   '我爱中国"+i+"')");

}

conn.commit();

System.out.println("不建索引查询:");

System.out.println(new   java.util.Date());

rset   =   stmt.executeQuery("SELECT   id,   name   FROM   hehe   where   id   >   499999   and   name   ='我爱中国500001'");

if   (rset.next()){

System.out.println(rset.getInt("id"));

System.out.println(rset.getString("name"));

}

if   (rset!=null){   rset.close();   rset   =   null;   }

System.out.println(new   java.util.Date());

System.out.println("建索引:");

System.out.println(new   java.util.Date());

stmt.executeUpdate("CREATE   INDEX   hehe_idx   on   hehe(id)");

stmt.executeUpdate("CREATE   INDEX   hehe_idx2   on   hehe(name)");

conn.commit();

System.out.println(new   java.util.Date());

System.out.println("建索引后的查询:");

System.out.println(new   java.util.Date());

rset   =   stmt.executeQuery("SELECT   id,   name   FROM   hehe   where   id   >   499999   and   name   =   '我爱中国500001'");

if   (rset.next()){

System.out.println(rset.getInt("id"));

System.out.println(rset.getString("name"));

}

System.out.println(new   java.util.Date());

stmt.executeUpdate("drop   table   hehe");

System.out.println("删除表hehe成功!");

conn.commit();

System.out.println(new   java.util.Date());

}   catch(ClassNotFoundException   cnfe)   {

System.out.println("Can't   find   class   for   driver:   "+cnfe.getMessage());

System.exit(-1);

}   catch   (SQLException   e){

System.out.println(e.getMessage());

System.exit(-1);

}   finally

{

try   {

if   (rset!=null)   rset.close();

stmt.close();

conn.close();

}   catch   (SQLException   e)   {

}

}

}

public   static   void   main(String[]   args)   {

TestConn   conn   =   new   TestConn();

conn.test();

}

}

Ps:

如果是下载的windows版本的sqlite,要执行

sqlite3.exe mydb.db

表示使用mydb.db数据,否则会报Error: cannot commit - no transaction is active

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值