当前位置:首页 » 编程语言 » sqlitejava

sqlitejava

发布时间: 2022-09-10 07:55:32

Ⅰ 怎样把sqlite导入到java中,又该如何调用sqlite并对其进行增删改查操作

关于java如何操作sqlite数据,小编在之前已经写过一篇经验了,这里不在细说,直接给你经验的地址吧!
名称:java如何读写SQLite数据库
地址:http://jingyan..com/article/a3a3f811c62a3e8da3eb8a4a.html

有用请采纳,有任何疑问欢迎向我提问

Ⅱ sqlite 和 java 数据类型对应问题

SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型。
SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。
但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。 另外, SQLite 在解析CREATE TABLE 语句时,会忽略 CREATE TABLE 语句中跟在字段名后面的数据类型信息,如下面语句会忽略 name字段的类型信息:
CREATE TABLE student(id integer primary key autoincrement, name varchar(20))

Ⅲ 如何在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;
}
}

Ⅳ sqlite用JAVA 备份还原

stms.executeUpdate("backup to '" + db_path + "'");// 备份
stms.executeUpdate("restore from '" + db_path + "'");//恢复

Ⅳ java的sqlite运行不出来,错误如下

没有sqllite的驱动包

Ⅵ 如何在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 。它的官方网站是: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 代码如下:
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数据库文件,在Windows环境

首先需要这个包,添加到工程。

下面给你示例代码

importjava.sql.*;

publicclassSQLiteDemo{

publicstaticvoidmain(String[]args){
try{
//连接SQLite的JDBC
Class.forName("org.sqlite.JDBC");
//建立一个数据库名data.db的连接,如果不存在就在当前目录下创建之
Connectionconn=DriverManager.getConnection("jdbc:sqlite:data.db");
conn.setAutoCommit(false);
Statementstat=conn.createStatement();

stat.executeUpdate("createtableifnotexiststbl1(namevarchar(20),salaryint);");//创建一个表,两列
stat.executeUpdate("insertintotbl1values('ZhangSan',8000);");//插入数据
stat.executeUpdate("insertintotbl1values('LiSi',7800);");
stat.executeUpdate("insertintotbl1values('WangWu',5800);");
stat.executeUpdate("insertintotbl1values('ZhaoLiu',9100);");

ResultSetrs=stat.executeQuery("select*fromtbl1;");//查询数据

while(rs.next()){//将查询到的数据打印出来
System.out.print("name="+rs.getString("name")+"");//列属性一
System.out.println("salary="+rs.getString("salary"));//列属性二
}
rs.close();
conn.commit();
conn.close();//结束数据库的连接
}
catch(Exceptione)
{
e.printStackTrace();
}
}
}


Ⅷ 知道密码,java 如何连接加密的sqlite数据库文件

/**

* @author Tim

*/

public class JavaSqlite {

public static void main(String[] args) {

// TODO Auto-generated method stub

try {

// 0 连接SQLite的JDBC

String sql=\"jdbc:sqlite://e:/tim.db\";

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

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

Connection conn = DriverManager.getConnection(sql);

Statement stat = conn.createStatement();

// 2 创建一个表tbl1,录入数据

stat.executeUpdate(\"drop table if exists tbl1;\");

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

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

stat.executeUpdate(\"insert into tbl1 values(\'LiSi\',7800);\");

stat.executeUpdate(\"insert into tbl1 values(\'WangWu\',5800);\");

stat.executeUpdate(\"insert into tbl1 values(\'ZhaoLiu\',9100);\");

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

System.out.println(\"创建表结构录入数据操作演示:\");

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

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

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

}

rs.close();

// 3 修改表结构,添加字段 address varchar(20) default \'changsha\';

stat.executeUpdate(\"alter table tbl1 add column address varchar(20) not null default \'changsha\'; \");// 创建一个表,两列

stat.executeUpdate(\"insert into tbl1 values(\'HongQi\',9000,\'tianjing\');\"); // 插入数据

stat.executeUpdate(\"insert into tbl1(name,salary) values(\'HongQi\',9000);\"); // 插入数据

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

System.out.println(\"表结构变更操作演示:\");

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

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

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

System.out.println(\"address = \" + rs.getString(\"address\")); // 列属性三

}

rs.close();

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

} catch (Exception e) {

e.printStackTrace();

}

}

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

只要导入jar包就行了,使用的时候加载class(即Class.forName("org.sqlite.JDBC");)
然后可以用最原始的jdbc代码去使用sqlite
比如创建连接:Connectionconn=DriverManager.getConnection("jdbc:sqlite:test.db");(其中test.db就是数据库文件以及数据库的名称,这句话有两个作用:1、如果不存在该数据库则创建并返回连接;2、如果存在了数据库,则直接返回连接)
代码如下:


importjava.sql.*;

publicclassSQLiteJDBC
{
publicstaticvoidmain(Stringargs[])
{
Connectionc=null;
try{
//Class.forName加载class
Class.forName("org.sqlite.JDBC");
c=DriverManager.getConnection("jdbc:sqlite:test.db");
}catch(Exceptione){
System.err.println(e.getClass().getName()+":"+e.getMessage());
System.exit(0);
}
System.out.println("Openeddatabasesuccessfully");
}
}

创建表
importjava.sql.*;

publicclassSQLiteJDBC
{
publicstaticvoidmain(Stringargs[])
{
Connectionc=null;
Statementstmt=null;
try{
//Class.forName加载class
Class.forName("org.sqlite.JDBC");
//DriverManager.getConnection创建连接
c=DriverManager.getConnection("jdbc:sqlite:test.db");
System.out.println("Openeddatabasesuccessfully");
stmt=c.createStatement();
//sql创建表语句
Stringsql="CREATETABLECOMPANY"+
"(IDINTPRIMARYKEYNOTNULL,"+
"NAMETEXTNOTNULL,"+
"AGEINTNOTNULL,"+
"ADDRESSCHAR(50),"+
"SALARYREAL)";
//executeUpdate创建表
stmt.executeUpdate(sql);
stmt.close();
c.close();
}catch(Exceptione){
System.err.println(e.getClass().getName()+":"+e.getMessage());
System.exit(0);
}
System.out.println("Tablecreatedsuccessfully");
}
}

Ⅹ 如何在Java中访问SQLite数据库

在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工具打开数据库文件,就可以看到上面插入的记录了

热点内容
tiobe编程语言排行 发布:2025-01-12 23:39:49 浏览:224
win7的缓存文件夹 发布:2025-01-12 23:32:12 浏览:954
安卓哪个文件锁好 发布:2025-01-12 23:31:23 浏览:325
怎么让安卓用苹果耳机有弹窗 发布:2025-01-12 23:30:34 浏览:958
oracle存储过程有返回值 发布:2025-01-12 23:30:34 浏览:7
用友服务器怎样同步ip 发布:2025-01-12 23:29:52 浏览:979
qt编译vlcqt库 发布:2025-01-12 23:24:45 浏览:244
攻击linux服务器 发布:2025-01-12 23:17:01 浏览:6
天籁哪个配置亲民 发布:2025-01-12 23:16:26 浏览:482
零售通交易密码是什么 发布:2025-01-12 23:13:02 浏览:319