springboot中如何实现通过后台创建临时表

springboot中如何实现通过后台创建临时表

这篇文章主要介绍了springboot中如何实现通过后台创建临时表,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

springboot 如何通过后台创建临时表

其实创建临时表,跟增删改查的原理是一样的,只不过是在xml中写一个创建临时表sql语句,xml中并不是只能写增删改查语句的

1,首先弄一个xml

在xml中写一个修改头标签,因为是建立的是临时表,所以表名要变,需要在表名处接收一个参数$(tableName) ,这时xml文件就写好了

springboot中如何实现通过后台创建临时表

2,在mapper中写出对应方法

这时需要在参数中加上注解@Param,只有加上这个注解,在xml中才可以接收到我传入的参数

springboot中如何实现通过后台创建临时表

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);

感谢你能够认真阅读完这篇文章,希望小编分享的“springboot中如何实现通过后台创建临时表”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,更多相关知识等着你来学习!