最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot集成Access?DB實現(xiàn)數(shù)據(jù)導入和解析

 更新時間:2024年11月08日 08:28:59   作者:HBLOG  
microsoft?office?access是由微軟發(fā)布的關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它結合了?microsoft?jet?database?engine?和?圖形用戶界面兩項特點,是一種關系數(shù)據(jù)庫工具,本文給大家介紹了SpringBoot集成Access?DB實現(xiàn)數(shù)據(jù)導入和解析,需要的朋友可以參考下

1.什么是Access DB?

microsoft office access是由微軟發(fā)布的關聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。它結合了 microsoft jet database engine 和 圖形用戶界面兩項特點,是一種關系數(shù)據(jù)庫工具。它在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門,和喜愛編程的開發(fā)人員專門利用它來制作處理數(shù)據(jù)的桌面系統(tǒng)。它也常被用來開發(fā)簡單的web應用程序.

優(yōu)點:

  • 存儲方式單一:access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。

  • 面向對象:access是一個面向對象的開發(fā)工具。它將一個應用系統(tǒng)當作是由一系列對象組成的,通過對象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極大地簡化了開發(fā)工作。同時,這種基于面向對象的開發(fā)方式,使得開發(fā)應用程序更為簡便。

  • 界面友好、易操作

  • access是一個可視化工具,用戶想要生成對象并應用,只要使用鼠標進行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設計器以及數(shù)據(jù)庫向導、表向導、查詢向導、窗體向導、報表向導等工具,使得操作簡便,容易使用和掌握。

  • access可以在一個數(shù)據(jù)表中嵌入位圖、聲音、excel表格、word文檔,還可以建立動態(tài)的數(shù)據(jù)庫報表和窗體等。access還可以將程序應用于網(wǎng)絡,并與網(wǎng)絡上的動態(tài)數(shù)據(jù)相聯(lián)接,輕松生成網(wǎng)頁。

缺點:

access是小型數(shù)據(jù)庫,既然是小型就有它根本的局限性:access數(shù)據(jù)庫不支持并發(fā)處理、數(shù)據(jù)庫易被下載存在安全隱患、數(shù)據(jù)存儲量相對較小等。而且在以下幾種情況下數(shù)據(jù)庫基本上會吃不消:

  • 數(shù)據(jù)庫過大,一般access數(shù)據(jù)庫達到50m左右的時候性能會急劇下降。
  • 網(wǎng)站訪問頻繁,經(jīng)常達到100人左右的在線。
  • 記錄數(shù)過多,一般記錄數(shù)達到10萬條左右的時候性能就會急劇下降。

2.數(shù)據(jù)準備

測試數(shù)據(jù)庫下載地址:

3.代碼工程

實驗目標

實現(xiàn)access 數(shù)據(jù)庫導入

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>springboot-demo</artifactId>
        <groupId>com.et</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>accessDB</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.sf.ucanaccess</groupId>
            <artifactId>ucanaccess</artifactId>
            <version>5.0.1</version>
        </dependency>

    </dependencies>
</project>

controller

主要步驟如下

  • Saving the uploaded file.

  • Connecting to the Access database.

  • Querying data.

  • Processing and storing results in a list.

    package com.demo.controller;

    import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;

    @RestController @RequestMapping("/api/access") public class AccessDatabaseController {

    // Upload Access database file and query data @PostMapping("/upload") public List<Map<String, Object>> uploadAndQuery(@RequestParam("file") MultipartFile file, @RequestParam("tableName") String tableName) { List<Map<String, Object>> results = new ArrayList<>(); Connection connection = null; try { // Save the uploaded file to the server's temporary directory File tempFile = File.createTempFile("upload-", ".accdb"); file.transferTo(tempFile);

     // Connect to the Access database
     String dbUrl = "jdbc:ucanaccess://" + tempFile.getAbsolutePath();
     connection = DriverManager.getConnection(dbUrl);

     // Query the specified table in the database
     Statement statement = connection.createStatement();
     String query = "SELECT * FROM " + tableName;
     ResultSet resultSet = statement.executeQuery(query);

     // Store query results in a List<Map<String, Object>>
     while (resultSet.next()) {
        Map<String, Object> row = new HashMap<>();
        int columnCount = resultSet.getMetaData().getColumnCount();
        for (int i = 1; i <= columnCount; i++) {
           String columnName = resultSet.getMetaData().getColumnName(i);
           row.put(columnName, resultSet.getObject(i));
        }
        results.add(row);
     }

     // Close the ResultSet and Statement
     resultSet.close();
     statement.close();

     // Mark temporary file for deletion upon JVM exit
     tempFile.deleteOnExit();

  } catch (Exception e) {
     e.printStackTrace();
  } finally {
     // Close the database connection
     if (connection != null) {
        try {
           connection.close();
        } catch (Exception e) {
           e.printStackTrace();
        }
     }
  }
  return results;

以上只是一些關鍵代碼,所有代碼請參見下面代碼倉庫

代碼倉庫

4.測試

  • 啟動Spring Boot應用
  • postman訪問http://127.0.0.1:8088/api/access/upload

以上就是SpringBoot集成Access DB實現(xiàn)數(shù)據(jù)導入和解析的詳細內容,更多關于SpringBoot Access DB數(shù)據(jù)導入的資料請關注腳本之家其它相關文章!

相關文章

最新評論

上林县| 东乡县| 固始县| 黄山市| 陆川县| 济源市| 尉氏县| 万荣县| 循化| 西平县| 普陀区| 建平县| 太保市| 枣强县| 礼泉县| 集贤县| 贺州市| 望城县| 枞阳县| 昆明市| 股票| 龙胜| 兴文县| 台湾省| 板桥市| 井陉县| 漠河县| 四子王旗| 桃园市| 博野县| 崇礼县| 辽阳县| 蚌埠市| 辽源市| 东光县| 河西区| 南木林县| 咸丰县| 潮州市| 于田县| 三都|