導航:首頁 > 編程語言 > java連接sqlite

java連接sqlite

發布時間:2022-03-16 05:34:32

『壹』 java與sqlite如何建立連接

android 調用sqlite
建一個類DBHelper extends SQLiteOpenHelper
實現其中的方法
構造方法中第二個參數填寫庫名系統會幫你建庫
oncreate 中見表
String createTable = "create table tablename";
db.execSQL(createTable);

以後調用只需 new DBHelper 再getWriteDatabase 就可對資料庫操作 如同見表一樣

『貳』 怎樣在普通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");
}
}

『叄』 linux下java訪問sqlite3 資料庫,如何訪問

確保linux中已經裝了sqlite/sqlite3,然後用sqlitejdbc-v056這個驅動就可訪問了

『肆』 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連接加密的sqllite資料庫你怎麼解決的

通過Java本身提供的JDBC連結
需要導入sqlitejdbc-v033-nested.jar文件

private static String url="org.sqlite.JDBC";
private static String dri="jdbc:sqlite:/D:test.db文件對應的目錄路徑(不能包含中文)";

public static Connection getConn(String table) throws Exception{

Class.forName(url);
Connection conn = DriverManager
.getConnection(dri+table);
return conn;
}

『陸』 如何在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資料庫編譯出錯

importjava.sql.*;
publicclassTestDriver
{
publicstaticvoidmain(String[]args)throwsException{
Class.forName("org.sqlite.JDBC");
Connectionconn=DriverManager.getConnection("jdbc:sqlite:H:/workstation/qixiaodiandb/qixiaodian.db","userId","password");
System.out.println(conn);
}
}

直接執行這個,看看能不能取到資料庫連接,取不到應該拋異常呀

『捌』 知道密碼,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的問題

首先你要打開的資料庫文件是D:/Eclipse work space/student.db,不是相對路徑,所以你的程序應該在D:/Eclipse work space/目錄下運行。但最好使用相對路徑「jdbc:sqlite:student.db"

另外你的sql語句有問題,字元串數據要用''包起來,也就是

Stringr1="Insertintostudentvalues('xingming','','shengri','','di','','','techang')"

『拾』 如何在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相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:61
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:399
夢幻端游長安地圖互通源碼 瀏覽:745
電腦本地文件如何上傳伺服器 瀏覽:313