MyBatis
文章平均质量分 77
长安明月
这个作者很懒,什么都没留下…
展开
-
Mybatis 中 ResultHandler 的用法(获取大结果集,实现结果流式输出)
Mybatis 中的 ResultHandler 相当于数据结果集的处理器,它是一个回调函数(Callback),用来处理每一行数据的结果,这个回调函数可以在查询结果处理到一定量时触发,对结果集数据进行定制化处理。ResultHandler 的使用可以大幅提升数据处理的效率,当我们需要处理大量的数据时,一般会使用 ResultHandler 来进行结果的处理,避免一次查询就全部返回结果,浪费内存资源或造成 OOM。import org// SQL 返回值为 void,所以我们并没有接收这个返回值。原创 2023-09-20 15:54:55 · 4352 阅读 · 0 评论 -
MyBatis foreach 标签常用方法总结
在 MyBatis 中,常常会遇到集合类型的参数,虽然我们可以通过 OGNL 表达式来访问集合的某一个元素,但是 OGNL 表达式无法遍历集合。foreach 标签就是专门用来解决这类问题的,foreach 标签可以用来遍历数组、列表和 Map 等集合参数,实现批量操作或一些简单 SQL 操作。 foreach 元素的属性主要有 item,index,open,separator,close,collection。各属性含义如下所示。 集合中元素迭代时的别名,该参数为必选。 在 list 和数组中原创 2022-12-06 14:48:09 · 16340 阅读 · 0 评论 -
MyBatis 查询 MySQL 实现返回 List<Map> 或 Map 类型数据操作
MyBatis 查询 MySQL 数据库,返回结果可以是具体的类、Map、List 等等。将查询结果返回 Map 类型的优点是,不需要为本次查询额外创建类。如果只查询某几个特定的列,且不想额外创建类的话,就可以将结果返回 Map 或 List。如果能明确查询结果只有一条记录时,返回 Map;如果查询结果可能有多条记录,返回 List。实现方式较为简单,只要在 DAO 层 XML 文件中,设定 resultType 而不设定 resultMap 就可以了。详见下文示例。原创 2022-09-09 10:50:03 · 24159 阅读 · 4 评论 -
MyBatis if test 判断字符串相等不生效
采用 MyBatis 框架操作 MySQL 数据库时,判断传入的字符串 priceFlag 值为 0 时,按照 price 属性降序排列,如下 xml 语句未生效:<if test="priceFlag != null and priceFlag == '0'"> ORDER BY price DESC</if>MyBatis 是使用 OGNL 表达式来进行解析的,在 OGNL 表达式中,‘0’ 会被解析成字符,因为 java 是强类型的,char 和 Strin原创 2020-08-28 15:39:41 · 2950 阅读 · 0 评论