
Mybatis
每天进步一点点呀
工作日常技术学习、积累、总结
-
原创 Mybatis ResultMap传递参数给子Collection对应查询的ResultMap中
一、问题描述最近在做项目时,需要使用Mybatis的ResultMap高级映射查询“校区 - 楼栋 - 楼层”树结构的数据,前端提供很多过滤条件都是子查询楼层的一些字段属性,并不是所有的参数都是最外层查询的过滤条件,但是ResultMap本身不支持将参数从外层的查询一直传递到子查询。举个简单的例子,mapper接口传递了一些参数到mapper.xml中,如果不额外处理,这些参数只能在最外面...2019-11-12 15:57:402088
1
-
原创 Mybatis foreach逗号分隔字符串遍历方式
一、前言最近在项目中,做高级搜索时,由于搜索条件过多,而且每个选项的值都很多,这些条件都需要拼接到sql语句IN查询中,所以我前端直接传递逗号分隔的多个值,直接使用Mybatis的foreach切割功能,直接查询,感觉挺方便的。二、使用方式【a】前端传递查询条件:使用逗号分隔参数值。【b】后端Mapper接口使用Map接收接收:public List<FjcwxxT...2019-11-12 14:40:372682
0
-
原创 MyBatis-Plus updateById方法更新不了空字符串/null解决方法
一、简介因为最近在忙项目,好久都没有更新博客,最近在项目中刚好遇到一个问题,就是在使用MyBatis-Plus updateById(xxx)的时候,居然更新不了字符串或者null,本文分享两种解决方案,具体大家可以根据自己的需求选择一种方法解决。二、原理在实际项目中,难免更新的时候,有可能会把已有的值更新成空字符串或者null,但是当你使用updateById()方法的时候,会发现根...2019-03-01 09:52:5943555
19
-
原创 Mybatis工作中常见关系映射总结
一、简介在工作中,如果持久层框架使用mybatis的话,基本上都会涉及到关联关系映射处理,本文将对Mybatis中的一对多、一对一、递归查询树结构数据等做一个比较系统的总结,加深自己对Mybatis高级映射的理解。下面我们通过几个示例详细说明用法。二、准备工作在进行创建项目之前,我们首先要准备几张表,tbl_class(班级表)、tbl_teacher(教师表)、tbl_stud...2019-04-04 21:58:441041
0
-
原创 Mybatis工作中常用动态SQL总结
一、简介上篇文章,我们介绍了Mybatis常用的关系映射,本文将在上篇文章项目的基础上,总计一下Mybatis中动态SQL的常用用法,项目结构可以从这里https://gitee.com/weixiaohuai/springboot-mybatis.git下载。相信大家没用Mybatis之前,都碰到过各种条件判断拼接SQL、需要去掉多余的逗号等痛苦,Mybatis中的动态SQL能很好的解决上面...2019-04-12 21:44:11164
0
-
原创 Mybatis批量保存Clob类型时ORA-01461: can bind a LONG value only for insert into a LONG column报错解决方法
一、简介最近在项目中,遇到一个比较奇怪的问题,就是当我使用Mybatis批量保存Clob长文本的时候,报错can bind a LONG value only for insert into a LONG column,大概意思就是 "仅能绑定要插入LONG列的LONG值" ,更奇怪的是,这个错误是在部署到测试环境中才遇到,在开发环境中根本没出现这个问题,正常保存,两个环境连的都是同一个内网的...2019-04-29 20:52:002125
0
-
原创 Mybatis复杂参数传参取参方式总结
一、简介使用Mybatis最大的特性就是sql需要自己写,而写sql难免需要传递多个参数。相信大家在使用Mybatis的时候都遇到过 "Parameter 'array' not found. Available parameters are [xsids, param1]" 类似这样的错误,本文将总结一下Mybatis复杂参数传参取参的方式。二、不使用@Param注解【a】传递Lis...2019-05-27 21:44:301887
0