1

关于这个问题的一些背景。从前端,我有两个带有多个属性的选择框。一个盒子是用于批准的项目,另一个是用于忽略的项目。我将它们放入 Map 中,键是公司的 UID,值是“Y”或“N”,具体取决于 UID 所在的框。使用 ibatis 将 HashMap 值插入表提供了一些帮助,但答案涉及手动放置条目,因为我正在动态创建地图,所以不确定键是什么。下面是Java的代码:

// Set up the map object for the back end
        Map<Integer, String> posMap = new HashMap<Integer, String>();
        // Get the approved mailers
        String[] mailerList = request.getParameterValues("approved");                   
        if (mailerList != null && mailerList.length > 0)
        {
            for(String mailer : mailerList)
            {
                posMap.put(Integer.parseInt(mailer), "Y");
            }
        }
        // reset the mailerList
        mailerList = null;
        // get the ignored mailers
        mailerList = request.getParameterValues("ignored");
        if (mailerList != null && mailerList.length > 0)
        {
            for(String mailer : mailerList)
            {
                posSampleMap.put(Integer.parseInt(mailer), "N");
            }
        }
        // only update POS if the map is not empty
        if(!posMap.isEmpty())
        {               
            updateMapper.updatePOSSampling(posMap);
        }

通常,我会在 mapper.xml 文件中有这样的内容:

<update id="updatePOSSampling" parameterType="hashmap">
   UPDATE <table_name>
   SET sampling_enabled = ${myMapValue}
   WHERE mailer_name = ${myMapKey}
</update>

在我提供的链接中,他们手动输入键和值,因此,示例 IBATIS 可以引用键。由于我不确定我的密钥是什么,因此生成此查询的最佳方法是什么?我有一个发送二维数组的临时解决方法,但我觉得使用 Map DO 会是更好的方法。提前感谢您的任何帮助。

4

0 回答 0