关于Java创建sqlite的信息

博主:adminadmin 2022-11-22 03:01:07 55

今天给各位分享Java创建sqlite的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何在java中使用sqlite

1、SQLite是什么

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资

源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语

言相结合,比如

Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度

比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至今已经有13个年头,SQLite也迎来了一个版本 SQLite

3已经发布。

SQLite支持事务处理功能等等。也可以把理解成Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite

支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开

发,没有合适的数据库系统,那么你可以考虑使用SQLite。到2013年10月17日最新版本是 3.8.1 。它的官方网站是:或者,能在上面获得源代码和文档。

2、SQLite客户端管理软件

SQLite亦可以作为桌面数据库使用,以下为第三方SQLite的GUI软件。

SQLiteMan,使用QT开发的一个SQLite客户端,支持多语言、跨平台。SQLiteMan

SQLite Manager, 以 火狐浏览器的扩展形式提供的SQLite客户端。

SQLite Database Browser, a graphical client to access SQLite databases

SqlPro SQL Client, another graphical client to work with SQLite databases。

3、Java中如何使用SQLite

java连接SQLite 代码如下:

importjava.sql. * ;

importorg.sqlite.JDBC;

/**

* 这是个非常简单的SQLite的Java程序,

* 程序中创建数据库、创建表、然后插入数据,

* 最后读出数据显示出来

*/

publicclass TestSQLite {

publicstaticvoid main(String[] args) {

try {

//连接SQLite的JDBC

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

//建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之

Connection conn = DriverManager.getConnection("jdbc:sqlite:zieckey.db");

Statement stat = conn.createStatement();

stat.executeUpdate("create table tbl1(name varchar(20), salary int);"); //创建一个表,两列

stat.executeUpdate("insert into tbl1values('ZhangSan',8000);"); //插入数据

stat.executeUpdate("insert into tbl1values('LiSi',7800);");

stat.executeUpdate("insert into tbl1values('WangWu',5800);");

stat.executeUpdate("insert into tbl1values('ZhaoLiu',9100);");

ResultSet rs = stat.executeQuery("select * from tbl1;"); //查询数据

while (rs.next()) { //将查询到的数据打印出来

System.out.print("name = " + rs.getString("name") + " "); //列属性一

System.out.println("salary = " + rs.getString("salary")); //列属性二

}

rs.close();

conn.close(); //结束数据库的连接

} catch(Exception e) {

e.printStackTrace();

}

}

}

4、Hibernate如何使用SQLite

sqlite可以支持2t的数据:2t=1024*2G,一般Hibernate会很少使用SQLite,因为Hibernate一做出的程序都是比较大的项目,不什么使用SQLite。

Hibernate暂时不支持SQlite数据库表的逆向工程。如果有兴趣可以自己动手编写,否则推荐使用hibernate

annotation。连接hibernate,需要Dialect来支持,用来映射java类型和数据库支持的类型。所以需要编写Dialect。

如何在Java中访问SQLite数据库

首先下载一个SQLite的JDBC驱动包。

下载地址:

在Eclipse中新建一个工程,并在Properties》Java build path》Libraries中将这个驱动包导入工程中。

在代码中导入

import Java.sql.*;

import org.sqlite.JDBC;

然后在main函数中加入下列代码,编译运行。

try{

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

Connection conn = DriverManager.getConnection("jdbc:sqlite:filename"); //filename为sqlite数据库文件名,最好带上绝对路径

String sql = "insert into tb_users values('张三','111','男','25')";

Statement stmt = conn.createStatement();

stmt.executeUpdate(sql);

conn.close();

}catch(Exception e){

e.printStackTrace();

}

然后可以用SQLiteSpy工具打开数据库文件,就可以看到上面插入的记录了:)

SQLiteSpy下载地址:

注意需要在程序运行前,先创建数据文件和表。可以使用SQLiteSpy来创建,建表使用SQL语句如下。

CREATE TABLE tb_users(username varchar(10), password varchar(16), sex varchar(8), age interger);

关于Java创建sqlite的信息

如何在Java中使用Sqlite

javasqlite如何实现数据库的操作:

Javasqlite公开了几个类,包括:Authorizer、 BusyHandler 、Callback、 Constants 、Database Exception 、Function 、FunctionContext、ProgressHandler、StringEncoder 、TableResult 、Trace 、Vm 关于这几个类可以参考作者网站上的文档。

以下通过对一个数据表的操作,介绍如何用这几个类进行数据库操作:

数据库操作类:HelloSqlite2.java:

初始化一个Database对象:Database db = new Database();Database类是主要功能类,通过db对象可以实现对数据库的操作:

1、 连接数据库:

public int connectDB(String dbPath)

{

try{

db.open(dbPath,0666);//调用open方法连接数据库,如果不存在创建这个数据库文件

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

2、创建数据表

//创建数据库字符串

static final String strCreate = "create table [User] ([UserID] integer primary key,[UserName] text,"+

"[Password] text,[BeDeleted] integer);";

public int createTable()

{

try

{

db.exec(strCreate,null);//执行一个sql命令,由于不需要处理返回值,

//所以callback可以直接为null

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

3、修改数据表

3.1、增加记录

static final String strInsert1 = "INSERT INTO [USER] ([username],[password],[bedeleted])VALUES('sacramento','123456','1');";

public int insert()

{

try

{

db.exec(strInsert1,null);//执行一个sql命令,由于不需要处理返回值,

//所以callback可以直接为null

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

3.2、修改记录

static final String strUpdate = "update [user] set [username] = 'Boston' where [userid] = 1;";

public int update()

{

try

{

db.exec(strUpdate,null);//执行一个sql命令,由于不需要处理返回值,

//所以callback可以直接为null

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

3.3、删除记录

static final String strDelete = "delete from [user] where [userid] = 2;";

public int delete()

{

try

{

db.exec(strDelete,null);//执行一个sql命令,由于不需要处理返回值,

//所以callback可以直接为null

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

4、查询数据表

以下函数简单的输出查询结果:

static final String strDisplay = "select * from [user];";

public int displayTable()

{

try

{

System.out.println(db.get_table(strDisplay));

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

5、处理查询结果

简单的输出结果可能并不能满足大部分查询的需要,那如何能够在查询过程中处理查询结果呢?可以使用db的exec(String arg0,Callback arg1)方法,具体做法如下:

写一个class TableFmt 实现了SQLite. Callback接口,接着将这个类的一个对象传递给exec的Callback参数。这样exec就会对每个查询结果调用Callback。继而实现对结果的处理:

接口的实现,实现Callback规定的三个接口函数:

class TableFmt implements Callback{

public void columns(String[] cols) {

System.out.println("columns");

for (int i = 0; i cols.length; i++) {

System.out.println(cols[i]);

}

}

public boolean newrow(String[] cols) {

System.out.println("newrow");

for (int i = 0; i cols.length; i++) {

System.out.println(cols[i]);

}

return false;

}

public void types(String[] cols)

{

System.out.println("types");

for (int i = 0; i cols.length; i++) {

System.out.println(cols[i]);

}

}

}

把TableFmt的一个实例传给exec()函数,这样便可以实现对结果集的处理。

public int dealTable()

{

try

{

db.exec(strDisplay,new TableFmt());

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

你可能觉得没一个功能写一个函数太麻烦了,是的。可以做一个通用的函数,把sql语句当作参数传递给函数。

比如实现一个这样的函数:

int executenonquery(String sql);对于不需要返回值的sql语句,比如增加、删除、修改、都可以通过这个函数来实现,只需要传入不同参数就可以,函数代码如下:

public int executenonquery(String sql)

{

try

{

db.exec(sql,null);//执行一个sql命令,由于不需要处理返回值,

//所以callback可以直接为null

return 1;

}

catch(java.lang.Exception ex)

{

ex.printStackTrace();

return -1;

}

}

怎样在普通java项目中嵌入sqlite数据库

只要导入jar包就行了,使用的时候 加载class(即Class.forName("org.sqlite.JDBC");)

然后可以用最原始的jdbc代码去使用sqlite

比如创建连接:Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db" );(其中test.db就是数据库文件以及数据库的名称,这句话有两个作用:1、如果不存在该数据库则创建并返回连接;2、如果存在了数据库,则直接返回连接)

代码如下:

import java.sql.*;

public class SQLiteJDBC

{

  public static void main( String args[] )

  {

    Connection c = null;

    try {

    //Class.forName加载class

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

      c = DriverManager.getConnection("jdbc:sqlite:test.db");

    } catch ( Exception e ) {

      System.err.println( e.getClass().getName() + ": " + e.getMessage() );

      System.exit(0);

    }

    System.out.println("Opened database successfully");

  }

}

创建表

import java.sql.*;

public class SQLiteJDBC

{

  public static void main( String args[] )

  {

    Connection c = null;

    Statement stmt = null;

    try {

    //Class.forName加载class

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

      //DriverManager.getConnection创建连接

      c = DriverManager.getConnection("jdbc:sqlite:test.db");

      System.out.println("Opened database successfully");

      stmt = c.createStatement();

      //sql创建表语句

      String sql = "CREATE TABLE COMPANY " +

                   "(ID INT PRIMARY KEY     NOT NULL," +

                   " NAME           TEXT    NOT NULL, " + 

                   " AGE            INT     NOT NULL, " + 

                   " ADDRESS        CHAR(50), " + 

                   " SALARY         REAL)"; 

      //executeUpdate创建表

      stmt.executeUpdate(sql);

      stmt.close();

      c.close();

    } catch ( Exception e ) {

      System.err.println( e.getClass().getName() + ": " + e.getMessage() );

      System.exit(0);

    }

    System.out.println("Table created successfully");

  }

}

关于Java创建sqlite和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。