阿里云开发者社区

电脑版
提示:原网页已由神马搜索转码, 内容由developer.aliyun.com提供.

【mybatis】动态sql之批量增删改查

2024-05-0760
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介:【mybatis】动态sql之批量增删改查

有时候公司的业务中存在批量新增、更新、删除、查询的需求,有的人直接在业务层循环去处理,效率低并且容易使服务宕机

动态sql

查询

dao层入参需要加 @Param(“userList”)

 select id from test        where id in        <foreach item="item" collection="userList" separator="," open="(" close=")" index="">            #{item.id , jdbcType=VARCHAR}        </foreach>

增加

 insert into Test(demoID, userId, createTime,      "createUser", "type")    values    <foreach collection="testList" item="test" separator=",">    (#{test.demoID,jdbcType=VARCHAR}, #{test.userId,jdbcType=VARCHAR}, #{test.createTime,jdbcType=TIMESTAMP},      #{test.createUser,jdbcType=TIMESTAMP}, #{test.type,jdbcType=VARCHAR})    </foreach>

修改

<update id="updateTest">    <foreach collection="Test" item="Test"      separator=";">      update Test      <set>        <if          test="Test.completionRatio != null and Test.completionRatio > 0">          CompletionRatio = #{Test.completionRatio,jdbcType=DECIMAL},        </if>      </set>      where id= #{Test.id}    </foreach>  </update>

删除

同查询

delete from test        where id in        <foreach item="item" collection="userList" separator="," open="(" close=")" index="">            #{item.id , jdbcType=VARCHAR}        </foreach>

问题

传入的请求具有过多的参数。该服务器支持最多 2100 个参数。请减少参数的数目,然后重新发送该请求

解决方案链接: https://jiannuan.blog.csdn.net/article/details/124014506

目录
相关文章
|
1月前
|
SQLJava测试技术
3、Mybatis-Plus 自定义sql语句
这篇文章介绍了如何在Mybatis-Plus框架中使用自定义SQL语句进行数据库操作。内容包括文档结构、编写mapper文件、mapper.xml文件的解释说明、在mapper接口中定义方法、在mapper.xml文件中实现接口方法的SQL语句,以及如何在单元测试中测试自定义的SQL语句,并展示了测试结果。
3、Mybatis-Plus 自定义sql语句
|
1月前
|
SQLJava数据库连接
Mybatis系列之 Error parsing SQL Mapper Configuration. Could not find resource com/zyz/mybatis/mapper/
文章讲述了在使用Mybatis时遇到的资源文件找不到的问题,并提供了通过修改Maven配置来解决资源文件编译到target目录下的方法。
Mybatis系列之 Error parsing SQL Mapper Configuration. Could not find resource com/zyz/mybatis/mapper/
|
25天前
|
SQLXMLJava
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
3011
|
1月前
|
SQLJava数据库连接
Mybatis系列之 动态SQL
文章详细介绍了Mybatis中的动态SQL用法,包括`<if>`、`<choose>`、`<when>`、`<otherwise>`、`<trim>`和`<foreach>`等元素的应用,并通过实际代码示例展示了如何根据不同条件动态生成SQL语句。
|
1月前
|
SQLJava关系型数据库
SpringBoot 系列之 MyBatis输出SQL日志
这篇文章介绍了如何在SpringBoot项目中通过MyBatis配置输出SQL日志,具体方法是在`application.yml`或`application.properties`中设置MyBatis的日志实现为`org.apache.ibatis.logging.stdout.StdOutImpl`来直接在控制台打印SQL日志。
SpringBoot 系列之 MyBatis输出SQL日志
|
1月前
|
SQL关系型数据库MySQL
解决:Mybatis-plus向数据库插入数据的时候 报You have an error in your SQL syntax
该博客文章讨论了在使用Mybatis-Plus向数据库插入数据时遇到的一个常见问题:SQL语法错误。作者发现错误是由于数据库字段中使用了MySQL的关键字,导致SQL语句执行失败。解决方法是将这些关键字替换为其他字段名称,以避免语法错误。文章通过截图展示了具体的操作步骤。
|
2月前
|
SQLJava数据库连接
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
5833
|
2月前
|
Java数据库连接数据库
mybatis plus 中增删改查及Wrapper的使用
mybatis plus 中增删改查及Wrapper的使用
8533
|
2月前
|
SQLNoSQLAPI
MongoDB 增删改查 常用sql总结
MongoDB 增删改查 常用sql总结
5811
|
1月前
|
druidJava数据库连接
SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池,以及实现增删改查功能
SpringBoot项目整合MybatisPlus和Druid数据库连接池,实现基本的增删改查功能。
16600

热门文章

最新文章