Java連線Access

weixin_34253539發表於2019-02-04

環境 JDK 1.8 + Access365版本(與2016相同)

今天回顧Java的時候,複習到了資料庫那裡,但是我重灌完電腦SQL 2010沒裝,當時想的是裝SQL很麻煩,花費很長時間,我只想複習一下,後來我才發現連線Access查了挺久的。

連線資料庫需要驅動,想一些sqlite,mysql,等等網上都有,Access的驅動官網好像沒有給出(有小夥伴知道的還請告知一下),所以使用的是 UcanaccessDriver。

  1. 下載
    下載地址
    下載好之後解壓出來是一個資料夾
    12265479-9940443febb67d38.png
    image.png
  2. 資料庫的建立
    這個沒啥說的,先建立一個空白資料庫,之後建立一張表


    12265479-b7e543965c73e442.png
    image.png

這裡的單元格里的PersionId不能輸入數字,這是因為它預設是自動增長的,不能修改。

  1. Java與資料庫的連線
    Person.java
    PersonDao.java
    Person.java中包含了基礎資訊,一些getter,setter, PersonDao.java封裝了資料庫的操作,如連結資料庫,查詢所有Person等等
    在連線之前,新建一個lib資料夾,存放剛剛下載的ucanaccess資料夾中的所有jar包,並將他們add到本專案的jar包資源中

    12265479-e4eac5c0aa59c1de.png
    lib資料夾

    右鍵點選專案,選擇Build Path,Configure Build Path。
    12265479-c9d36a740151e02c.png
    將那些jar包新增到專案中

    Libraries中選擇Add JARS
    12265479-e9504724754c6b64.png
    image.png

    全部新增進去。ctrl + 左鍵能夠多選
    12265479-f1567cbca2b7da01.png
    image.png

    連線資料庫的關鍵程式碼

    public static Connection getConnection() throws SQLException, IOException, ClassNotFoundException
    {
          //連線Access資料庫
          Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
          //這個url就是前面的ucanaccess://+ 資料庫儲存路徑
          String url = "jdbc:ucanaccess://C:\\Users\\donxing\\Documents\\Database1.accdb";
          String username = props.getProperty("jdbc.username");
          String password = props.getProperty("jdbc.password");
          //return DriverManager.getConnection(url, username, password);
          return DriverManager.getConnection(url);
    }
    

之後就能夠執行了。

  • 還有一種方法,是JdbcOdbcDriver,但是我真的找不到這個包,它在JDK1.7中是預設存在的,1.8中刪掉了,網上的全是需要花錢(某站),也懶得下載1.7了。
  • 還有一種驅動是Microsoft Access 2010 資料庫引擎可再發行程式包,不知道怎麼用,大家有興趣瞭解一下
  • 還有一種驅動是國人開發的叫忘了叫啥了,據說由查詢限制。

相關文章