Maison  >  Article  >  Java  >  Comment créer une table temporaire en arrière-plan dans Springboot

Comment créer une table temporaire en arrière-plan dans Springboot

王林
王林avant
2023-05-19 22:50:201900parcourir

Comment Springboot crée une table temporaire en arrière-plan

En fait, le principe de création d'une table temporaire est le même que celui de l'ajout, de la suppression, de la modification et de l'interrogation. Il s'agit simplement d'écrire une instruction SQL pour créer une table temporaire. xml. Ce ne sont pas seulement les instructions d'ajout, de suppression, de modification et d'interrogation qui peuvent être écrites en XML

1, créez d'abord un XML

et écrivez une balise d'en-tête de modification dans le XML. Le nom de la table doit être modifié. Vous devez recevoir un paramètre $(tableName) au niveau du nom de la table. À ce moment, xml Le fichier est écrit

Comment créer une table temporaire en arrière-plan dans Springboot

2. Écrivez la méthode correspondante dans le mappeur

. , vous devez ajouter l'annotation @Param au paramètre. Ce n'est qu'en ajoutant cette annotation que je peux recevoir l'entrée dans le paramètre XML

Comment créer une table temporaire en arrière-plan dans Springboot

3, puis appeler cette méthode dans la couche de service et la couche Contrôleur

, puis la transmettre. le nom de la table requis dans postman pour générer cette table.

La création et la suppression de tables temporaires sous springboot mybatis peuvent être utilisées pour la vérification des duplications et la déduplication

/**
     * 创建临时表
     */
    @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
" +
            "    <foreach collection="list" item="doct" index="index" separator=",">
" +
            "       (" +
            "       #{doct.doctorId,jdbcType=VARCHAR}
" +
            "       )
" +
            "    </foreach>
" +
            "</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);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer