mybatis通用批量新增全动态插入list<map<string,object>>

通用批量插入:表名动态,批量,字段动态

mapper接口

int insertData(@Param("tableName") String tableName, @Param("dataList") List<Map<String, Object>> dataList);

tableName:表名

dataList:要插入的集合

在yml数据库配置加上这一段,在连接数据库的配置中添加 &allowMultiQueries=true 可以允许执行多个SQL查询

allowMultiQueries=true

xml文件

<insert id="insertData" parameterType="java.util.List">
        <foreach collection="dataList" item="item" index="index" separator=";">
        INSERT INTO ${tableName}
            (
            <foreach collection="item" index="key" item="value" separator=",">
                ${key}
            </foreach>
            )
        values
            (
            <foreach collection="item" index="key" item="value" separator=",">
                #{value}
            </foreach>
            )
        </foreach>
    </insert>

 

(ps)当然,在插入表数据之前可以先判断一下数据库是否有这个表

mapper

//查询表是否存在
Integer isTableExist(String tableName);

xml

<select id="isTableExist" resultType="java.lang.Integer">
    SELECT COUNT(*) FROM information_schema.tables WHERE table_name = #{tableName}
</select>

tableName为表名

information_schema.tables 是一个特殊的系统表,它存储了关于数据库中所有表的元数据信息,如表名、列信息、约束等。通过从这个表中查询,我们可以获取有关数据库中所有表的信息。

(完)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
mybatis返回List<Map<String, Object>>的好处在于不需要再定义一个实体类对象,可以直接接收返回的数据。这种返回类型通常用于连接查询,当查询结果涉及多个表时,可以使用这种方式来接收返回的数据。\[2\]在xml文件中,可以使用resultType="java.util.HashMap"来定义返回类型为List<Map<String, Object>>。\[1\]这样,查询结果会以List的形式返回,每个元素都是一个Map,其中Key为String类型,Value为Object类型。这样的返回结果可以方便地进行遍历和操作。\[3\] #### 引用[.reference_title] - *1* [mybatis 查询返回ListStringMapString,ObjectListMapString,Object](https://blog.csdn.net/li1325169021/article/details/114003291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v12^insert_chatgpt"}} ] [.reference_item] - *2* [Mybatis查询返回MapString,Object类型](https://blog.csdn.net/Syals/article/details/125333637)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v12^insert_chatgpt"}} ] [.reference_item] - *3* [mybatis返回结果为ListMapString, Object的写法](https://blog.csdn.net/weixin_43860634/article/details/124401119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v12^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值