????? 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 。它的官方网站是:http://www.sqlite.org或者http://www.sqlite.com.cn,能在上面获得源代码和文档。
?
????? 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 代码如下:?
?
class="java" name="code">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。目前可以使用http://code.google.com/p/hibernate-sqlite/提供的支持。
?