本文目錄一覽:
- 1、如何在java中使用sqlite
- 2、如何在Java中使用Sqlite
- 3、java連接sqlite的問題
- 4、有人會javaweb調用sqlite的嗎,不是用main方法
- 5、java 調用 sqlite 數據庫
如何在java中使用sqlite
以下通過對一個數據表的操作,介紹如何用這幾個類進行數據庫操作:數據庫操作類: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語句當作參數傳遞給函數。
如何在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的問題
首先你要打開的數據庫文件是D:/Eclipse work space/student.db,不是相對路徑,所以你的程序應該在D:/Eclipse work space/目錄下運行。但最好使用相對路徑「jdbc:sqlite:student.db”
另外你的sql語句有問題,字符串數據要用”包起來,也就是
String r1=”Insert into student values(‘xingming’,”,’shengri’,”,’dizhi’,”,”,’techang’)”
有人會javaweb調用sqlite的嗎,不是用main方法
1、SQLite是什麼SQLite,是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生於2000年5月。至今已經有13個年頭,SQLite也迎來了一個版本SQLite3已經發佈。SQLite支持事務處理功能等等。也可以把理解成Microsoft的Access,有時候真的覺得有點象,但是事實上它們區別很大。比如SQLite支持跨平台,操作簡單,能夠使用很多語言直接創建數據庫,而不象Access一樣需要Office的支持。如果你是個很小型的應用,或者你想做嵌入式開發,沒有合適的數據庫系統,那麼你可以考慮使用SQLite。到2013年10月17日最新版本是3.8.1。它的官方網站是:或者,能在上面獲得源代碼和文檔。2、SQLite客戶端管理軟件SQLite亦可以作為桌面數據庫使用,以下為第三方SQLite的GUI軟件。SQLiteMan,使用QT開發的一個SQLite客戶端,支持多語言、跨平台。SQLiteManSQLiteManager,以火狐瀏覽器的擴展形式提供的SQLite客戶端。SQLiteDatabaseBrowser,agraphicalclienttoaccessSQLitedatabasesSqlProSQLClient,anothergraphicalclienttoworkwithSQLitedatabases。3、Java中如何使用SQLitejava連接SQLite代碼如下:importjava.sql.*;importorg.sqlite.JDBC;/***這是個非常簡單的SQLite的Java程序,*程序中創建數據庫、創建表、然後插入數據,*最後讀出數據顯示出來*/publicclassTestSQLite{publicstaticvoidmain(String[]args){try{//連接SQLite的JDBCClass.forName(“org.sqlite.JDBC”);//建立一個數據庫名zieckey.db的連接,如果不存在就在當前目錄下創建之Connectionconn=DriverManager.getConnection(“jdbc:sqlite:zieckey.db”);Statementstat=conn.createStatement();stat.executeUpdate(“createtabletbl1(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.close();//結束數據庫的連接}catch(Exceptione){e.printStackTrace();}}}4、Hibernate如何使用SQLitesqlite可以支持2t的數據:2t=1024*2G,一般Hibernate會很少使用SQLite,因為Hibernate一做出的程序都是比較大的項目,不什麼使用SQLite。Hibernate暫時不支持SQlite數據庫表的逆向工程。如果有興趣可以自己動手編寫,否則推薦使用hibernateannotation。連接hibernate,需要Dialect來支持,用來映射java類型和數據庫支持的類型。所以需要編寫Dialect。
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”); }}
原創文章,作者:SH4D4,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130015.html