springboot中實現通過後臺創建臨時表

springboot 如何通過後臺創建臨時表

其實創建臨時表,跟增刪改查的原理是一樣的,隻不過是在xml中寫一個創建臨時表sql語句,xml中並不是隻能寫增刪改查語句的

1,首先弄一個xml

在xml中寫一個修改頭標簽,因為是建立的是臨時表,所以表名要變,需要在表名處接收一個參數$(tableName) ,這時xml文件就寫好瞭

2,在mapper中寫出對應方法

這時需要在參數中加上註解@Param,隻有加上這個註解,在xml中才可以接收到我傳入的參數

3,接下來在service層和Controller層中調用這個方法

然後在postman中傳入需要的表名,就可以生成這個表瞭。

springboot mybatis下臨時表的創建和刪除,可用於查重去重

/**
     * 創建臨時表
     */
    @Update({"drop temporary table if exists ${tableName};", "create temporary table ${tableName} select doctor_id from crm_speaker where  1=2 "})
    void createTemoraryTable(@Param("tableName") String tableName);
    /**
     * 保存數據到臨時表裡面以便校驗數據重復
     */
    @Insert("<script>" +
            "insert into ${tableName} (doctor_id) values\n" +
            "    <foreach collection=\"list\" item=\"doct\" index=\"index\" separator=\",\">\n" +
            "       (" +
            "       #{doct.doctorId,jdbcType=VARCHAR}\n" +
            "       )\n" +
            "    </foreach>\n" +
            "</script>")
    void insertBatchCheckDatas(@Param("list") List<SpeakerDO> dOs, @Param("tableName") String tableName);
    /**
     * 刪除臨時表
     */
    @Update({"drop temporary table if exists ${tableName}"})
    void dropTemporaryTable(@Param("tableName") String tableName);

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: