实现方案:

        使用map传参实现多个参数传递

示例:talk is cheap,show my code;

/**
* service 调用
*/
Integer age = 10;
List<String> list = new ArrayList<String>();
    list.add("xing");
    list.add("huo");
Map<String, Object> map = new HashMap<String, Object>();
    map.put("list", list);
    map.put("type", age );
    findListByNameAndAge = ageMapper.findListByNameAndAge (map);

/**
* Mapper.class
*/

List<User> findListByNameAndAge(Map<String,Object> map);
/**
* Mapper.xml
*/

<select id="findListByNameAndAge" parameterType="java.util.Map" resultType="com.shiro.model.vo.User" >
        SELECT
            t1.id,
            t1.name,
            t1.age
        FROM
            user AS t1
        WHERE
            1=1  
            and age=#{age}
            <if test=" list != null">
                AND (
                    t1.name IN
                    <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
                        #{item}
                    </foreach>
                )
            </if>
    </select>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐