MyBatis动态SQL,MyBatis动态(动态根据表名、动态字段列、数据进行插入)MySQL数据库

博客介绍了MyBatis Mapper层接口的相关写法,如动态表名写法、插入数据的表字段列及值列表的设置,还提到Mapper层注解与XML里collection值的对应关系,以及XML中${}不走预编译,最后欢迎大家留言提建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mapper层接口:

Boolean mapTest(@Param("tableName") String tableName, @Param("columnKey") List<String> columnList, @Param("columnValue") List<String> valueList);

@Param(“tableName”)是动态表名写法
@Param(“columnKey”) List columnList 是需要插入数据的表字段列(这个地方推荐字段列为表中间数据字段列)
@Param(“columnValue”) List valueList) 这个list可以是别的的类型,Sreing、布尔、浮点数类型都可以 (推荐ID设置自增长,时间数据设置数据库自动获取当前系统时间)

Mapper层里面的注解对应XML里面 collection的值
XML中${}是不走预编译的

<insert id="mapTest" parameterType="java.util.HashMap">
    insert into ${tableName}
    <foreach item='item' index='index' collection='columnKey' open='(' separator=',' close=')'>
        ${item}
    </foreach>
    values
    <foreach item='value' index='index' collection='columnValue' open='(' separator=',' close=')'>
        #{value}
    </foreach>
</insert>

大家有什么好的建议,欢迎留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CV操作工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值