MyBatis - 如何在 mybatis xml mapper 文件中定义数组

Posted

技术标签:

【中文标题】MyBatis - 如何在 mybatis xml mapper 文件中定义数组【英文标题】:MyBatis - how to define array in mybatis xml mapper file 【发布时间】:2022-01-08 21:55:15 【问题描述】:

我想在 mybatis 映射器中定义字符串数组并将其作为 java 静态方法的参数传递。 有可能吗?

【问题讨论】:

我不认为有一个开箱即用的 TypeHandler (我可能错了)。但是,为数组编写一个应该非常简单。见mybatis.org/mybatis-3/configuration.html#typeHandlers。本质上,你只需要创建一个扩展 mybatis.org/mybatis-3/apidocs/org/apache/ibatis/type/… 的类,然后告诉 MyBatis 哪些列应该使用它(在读取和存储数据时)。 也许有一个开箱即用的数组类型处理程序,但我没有尝试过。见mybatis.org/mybatis-3/apidocs/org/apache/ibatis/type/… 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

找到一个解决方案,我可以在'bind'标签中定义数组,然后将其作为参数传递给方法:

        <bind name='exampleArray' value='"one", "two", "three"'/>
        $@com.example.MybatisUtil@generate(exampleArray)

【讨论】:

以上是关于MyBatis - 如何在 mybatis xml mapper 文件中定义数组的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis 与 Spring 是如何结合在一起工作的——mybatis-spring(version:1.2.2)

如何让idea自动创建mybatis配置文件

mybatis如何通过接口查找对应的mapper.xml及方法执行详解

mybatis如何通过接口查找对应的mapper.xml及方法执行详解

在mybatis的xml文件中如何使用test标签

MyBatis学习总结——使用MyBatis对表执行CRUD操作