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

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

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

背景

項(xiàng)目中涉及存儲(chǔ)數(shù)據(jù)量過(guò)大,會(huì)導(dǎo)致數(shù)據(jù)讀取慢等問(wèn)題,所以考慮動(dòng)態(tài)創(chuàng)建表來(lái)存儲(chǔ)數(shù)據(jù)。

這里場(chǎng)景動(dòng)態(tài)創(chuàng)建表,而且字段是不固定的。表名和字段對(duì)應(yīng)關(guān)系存儲(chǔ)在單張表中!

解釋

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

使用Mybatis 動(dòng)態(tài)sql,傳入對(duì)應(yīng)的數(shù)據(jù)類型來(lái)實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建表

注意點(diǎn):

這里簡(jiǎn)單說(shuō)下表名、字段等規(guī)范

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

具體實(shí)現(xiàn)

1、拼接每個(gè)字段對(duì)應(yīng)數(shù)據(jù)類型、長(zhǎng)度、默認(rèn)值等

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

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、對(duì)應(yīng)mapper,sql語(yǔ)句

    <!--創(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 = '模板對(duì)應(yīng)數(shù)據(jù)填報(bào)表' ROW_FORMAT = Dynamic;
    </update>

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

總結(jié)

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

相關(guān)文章

  • Java集合Set的簡(jiǎn)單使用解析

    Java集合Set的簡(jiǎn)單使用解析

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

    詳解SpringBoot的Run方法

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

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

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

    SpringBoot整合OpenFeign的完整指南

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

    Java使用Curator進(jìn)行ZooKeeper操作的詳細(xì)教程

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

    吉安县| 河东区| 金湖县| 安新县| 南漳县| 敦煌市| 大荔县| 阿巴嘎旗| 德昌县| 西贡区| 汶川县| 邓州市| 广宁县| 白河县| 西乌珠穆沁旗| 伊吾县| 偏关县| 明水县| 莱阳市| 台湾省| 堆龙德庆县| 穆棱市| 辽宁省| 灵武市| 那坡县| 开封县| 无极县| 旺苍县| 扎兰屯市| 宜兰县| 堆龙德庆县| 四川省| 秀山| 宣汉县| 扎赉特旗| 怀集县| 二连浩特市| 贵南县| 长宁区| 平乐县| 同仁县|