关于sqlitejava包的信息
本篇文章给大家谈谈sqlitejava包,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
如何在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数据库
只要导入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
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;
}
}
关于sqlitejava包和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-11,除非注明,否则均为
原创文章,转载请注明出处。