TShopping

 找回密碼
 註冊
搜索
查看: 3642|回復: 5
打印 上一主題 下一主題

[教學] Java 連接 SQLite 在eclipse下

[複製鏈接]
跳轉到指定樓層
1#
發表於 2014-5-7 00:56:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
1、這裡https://bitbucket.org/xerial/sqlite-jdbc/downloads下載驅動。

2、配置CLASSPATH路徑。這裡配置的/etc/profile檔。也可以不配置,在運行時不import,直接Class.forName("org.sqlite.JDBC"),用 javac -cp .:路徑 類名,這樣來運行。
3、用eclipse的話,就會你配置了CLASSPATH也找不到,要去工程的Propertries --> Java Buid Path --> Libraries 下添加External JARs。這樣eclipse才能夠找到。
OK,連上了,就好說了。

--------------------------------------------------------------------------------
測試代碼見下:
創建資料庫,表,插入資料,然後查詢。這是從驅動的來源程式的常式裡學的,真是高人啊!
  1. import java.io.File;
  2. import java.sql.*;
  3. import org.sqlite.JDBC;

  4. public class hh extends JFrame {

  5.         private JPanel contentPane;

  6.         /**
  7.          * Launch the application.
  8.          */
  9.         public static void main(String[] args) {
  10.                 EventQueue.invokeLater(new Runnable() {
  11.                         public void run() {
  12.                                 try {
  13.                                         hh frame = new hh();
  14.                                         frame.setVisible(true);
  15.                                 } catch (Exception e) {
  16.                                         e.printStackTrace();
  17.                                 }
  18.                         }
  19.                 });
  20.                 System.out.println("This is a SqliteTest program!");
  21.                  

  22.                 //載入資料庫驅動
  23.                 try{
  24.                         Class.forName("org.sqlite.JDBC");
  25.                         System.out.println("Load sqlite Driver sucess!");
  26.                 }catch(java.lang.ClassNotFoundException e){
  27.                         System.out.println("Fail to Load sqlite Driver!");
  28.                         System.out.println(e.getMessage());
  29.                 }

  30.                 try{
  31.                         //連接資料庫
  32.                         String connectionString = "jdbc:sqlite:C:\\dbTest.sqlite";
  33.                         Connection cn = DriverManager.getConnection(connectionString);
  34.                         
  35.                         //SQL語句類
  36.                         System.out.println("Connect sucessfully!");
  37.                         Statement stmt = cn.createStatement();
  38.                  
  39.                         //創建資料庫
  40.                         File testdb = new File("test.db");
  41.                         if(testdb.exists()) testdb.delete(); //若有舊的則刪除之
  42.                  
  43.                         //創建表
  44.                         stmt.execute("CREATE TABLE test(id integer primary key, name char(10))");
  45.                         //插入資料
  46.                         stmt.execute("INSERT INTO test(id, name) VALUES(1, '張三')");
  47.                         stmt.execute("INSERT INTO test(id, name) VALUES(2, '李四')");
  48.                         //查詢
  49.                         ResultSet rs = stmt.executeQuery("SELECT * FROM test");
  50.                         while(rs.next()){
  51.                                 String id = rs.getString("id");
  52.                                 String name = rs.getString("name");
  53.                                 System.out.println("id is " + id + " name is " + name);
  54.                         }

  55.                         //關閉
  56.                         stmt.close();
  57.                         cn.close();
  58.                 }catch(SQLException e){
  59.                         System.out.println("Fail!");
  60.                         System.out.println(e.getMessage());
  61.                 }
  62.         }
  63.         /**
  64.          * Create the frame.
  65.          */
  66.         public hh() {
  67.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  68.                 setBounds(100, 100, 450, 300);
  69.                 contentPane = new JPanel();
  70.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  71.                 contentPane.setLayout(new BorderLayout(0, 0));
  72.                 setContentPane(contentPane);
  73.         }

  74. }
複製代碼
String connectionString = "jdbc:sqlite:C:\\dbTest.sqlite";

這句就是說明SQLITE檔案存放路徑在
C:\dbTest.sqlite下


 

臉書網友討論
2#
發表於 2014-6-12 04:51:19 | 只看該作者
大家什么看法?我先支持

版主招募中

3#
發表於 2014-6-16 07:21:31 | 只看該作者
创意哦!楼主高人啊 谢


4#
發表於 2014-7-4 16:32:22 | 只看該作者
佩服你,能发这么好的帖子,厉害











bjcars.net


5#
發表於 2014-7-28 16:27:38 | 只看該作者



   交流贴。。。。


6#
發表於 2015-7-11 06:59:25 | 只看該作者
看的人少,回一下












完美世界


*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-25 19:40 , Processed in 0.145716 second(s), 21 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表