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

Mybatis如何動態(tài)創(chuàng)建表

 更新時間:2024年04月03日 09:51:07   作者:白面小生  
這篇文章主要介紹了Mybatis如何動態(tài)創(chuàng)建表問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

背景

項目中涉及存儲數(shù)據(jù)量過大,會導致數(shù)據(jù)讀取慢等問題,所以考慮動態(tài)創(chuàng)建表來存儲數(shù)據(jù)。

這里場景動態(tài)創(chuàng)建表,而且字段是不固定的。表名和字段對應關系存儲在單張表中!

解釋

創(chuàng)建表涉及到數(shù)據(jù)類型、存儲長度等,這里可以根據(jù)個人業(yè)務設置、或者固定

使用Mybatis 動態(tài)sql,傳入對應的數(shù)據(jù)類型來實現(xiàn)動態(tài)創(chuàng)建表

注意點:

這里簡單說下表名、字段等規(guī)范

  • 1.因為我這里表名也是動態(tài)生成,不建議純數(shù)字,否者插入時,表名需添加~~(Table鍵上面),可以拼接字符前綴
  • 2.建表時建議采用innodb引擎,一般情況。
  • 3.數(shù)據(jù)類型的話,根據(jù)業(yè)務場景來,我這里就是int、varchar、datetime三種類型

具體實現(xiàn)

1、拼接每個字段對應數(shù)據(jù)類型、長度、默認值等

對應數(shù)據(jù)也可以全varchar,根據(jù)業(yè)務需求

for (TemplateField field : fields) {
                TableParam tableParam2 = new TableParam();
                tableParam2.setField(field.getDataIndex())
                        .setContent(field.getTitle());
                if ("1".equals(field.getDataType())) {
                    tableParam2.setType(" varchar(255) ")
                            .setAttribute(" CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL ");
                }
                if ("2".equals(field.getDataType())) {
                    tableParam2.setType(" int(10) ")
                            .setAttribute(" NULL DEFAULT NULL ");
                }
                if ("3".equals(field.getDataType())) {
                    tableParam2.setType(" datetime(0) ")
                            .setAttribute(" NULL DEFAULT NULL ");
                }
                tableParamList.add(tableParam2);
            }

2、對應mapper,sql語句

    <!--創(chuàng)建表-->
    <update id="createTable" parameterType="java.util.List" statementType="STATEMENT">
        CREATE TABLE `${tableName}`
        (
        <foreach collection="tableParams" separator="," item="item">
            `${item.field}` ${item.type} ${item.attribute} COMMENT '${item.content}'
        </foreach>
        ${key}
        )
        ENGINE = InnoDB AUTO_INCREMENT = 1  CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '模板對應數(shù)據(jù)填報表' ROW_FORMAT = Dynamic;
    </update>

到此,Mybatis動態(tài)創(chuàng)建表就可以了!

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot利用攔截器實現(xiàn)避免重復請求

    SpringBoot利用攔截器實現(xiàn)避免重復請求

    Spring MVC中的攔截器(Interceptor)類似于Servlet中的過濾器(Filter),它主要用于攔截用戶請求并作相應的處理。本文就將利用攔截器實現(xiàn)避免重復請求,感興趣的小伙伴可以了解一下
    2022-11-11
  • Java?EasyExcel實現(xiàn)合并相同內容單元格與動態(tài)標題功能

    Java?EasyExcel實現(xiàn)合并相同內容單元格與動態(tài)標題功能

    這篇文章主要為大家詳細介紹了Java?EasyExcel如何實現(xiàn)合并相同內容單元格與動態(tài)標題功能,文中的示例代碼講解詳細,有需要的小伙伴可以參考下
    2023-12-12
  • Java利用Socket和IO流實現(xiàn)文件的上傳與下載

    Java利用Socket和IO流實現(xiàn)文件的上傳與下載

    本文主要介紹了Java利用Socket和IO流實現(xiàn)文件的上傳與下載,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • java根據(jù)開始時間結束時間計算中間間隔日期的實例代碼

    java根據(jù)開始時間結束時間計算中間間隔日期的實例代碼

    這篇文章主要介紹了java根據(jù)開始時間結束時間計算中間間隔日期的實例代碼,需要的朋友可以參考下
    2019-05-05
  • Java 四種訪問修飾符+面向對象詳解

    Java 四種訪問修飾符+面向對象詳解

    本文介紹了Java中的四種訪問修飾符(private, default, protected, public)及其在面向對象編程(OOP)中的作用,包括封裝、繼承和多態(tài),通過對比OOP中的術語和訪問修飾符的使用,本文結合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Java集合Set的簡單使用解析

    Java集合Set的簡單使用解析

    這篇文章主要介紹了Java集合Set的簡單使用解析,Set接口是Collection的子接口,Set接口相較于Collection接口沒有提供額外的方法,Set 集合不允許包含相同的元素,如果試把兩個相同的元素加入同一個 Set 集合中,則添加操作失敗,需要的朋友可以參考下
    2023-11-11
  • 詳解SpringBoot的Run方法

    詳解SpringBoot的Run方法

    本文給大家介紹了SpringBoot的Run方法,文中通過實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • 解決IDEA使用Spring Initializr創(chuàng)建項目時無法連接到https://start.spring.io的問題

    解決IDEA使用Spring Initializr創(chuàng)建項目時無法連接到https://start.spring.io的問

    這篇文章主要介紹了解決IDEA使用Spring Initializr創(chuàng)建項目時無法連接到https://start.spring.io的問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot整合OpenFeign的完整指南

    SpringBoot整合OpenFeign的完整指南

    OpenFeign 是由 Netflix 開發(fā)的一個聲明式 Web 服務客戶端,它使得編寫 HTTP 客戶端變得更加簡單,本文為大家介紹了SpringBoot整合OpenFeign的詳細步驟,需要的小伙伴可以參考下
    2025-04-04
  • Java使用Curator進行ZooKeeper操作的詳細教程

    Java使用Curator進行ZooKeeper操作的詳細教程

    Apache Curator 是一個基于 ZooKeeper 的 Java 客戶端庫,它極大地簡化了使用 ZooKeeper 的開發(fā)工作,在分布式系統(tǒng)中,ZooKeeper 通常被用來作為協(xié)調服務,而 Curator 則為我們提供了更簡潔易用的接口,本文將介紹 Curator 的核心功能及實踐樣例,需要的朋友可以參考下
    2025-04-04

最新評論

林甸县| 宁乡县| 定陶县| 楚雄市| 咸阳市| 巫溪县| 蒙阴县| 河曲县| 太保市| 石渠县| 北票市| 翁源县| 麟游县| 镶黄旗| 沾化县| 南郑县| 手游| 哈密市| 新晃| 宁阳县| 班玛县| 德州市| 沁阳市| 苗栗县| 长兴县| 东海县| 鄂托克旗| 兴安县| 塔城市| 金塔县| 托克托县| 霞浦县| 壶关县| 台北县| 渝中区| 垣曲县| 库尔勒市| 磴口县| 陇南市| 石狮市| 尚志市|