千家信息网

MyBatis的parameterType传入参数类型有哪些

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章给大家分享的是有关MyBatis的parameterType传入参数类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MyBatis的parameterTyp
千家信息网最后更新 2025年01月17日MyBatis的parameterType传入参数类型有哪些

这篇文章给大家分享的是有关MyBatis的parameterType传入参数类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    MyBatis的parameterType传入参数类型

    在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的输入参数类型即可。parameterType有基本数据类型和复杂的数据类型配置。

    1. MyBatis的传入参数parameterType类型分两种

    1. 1. 基本数据类型:int、string、long、Date;

    1. 2. 复杂数据类型:类(JavaBean、Integer等)和Map

    2. 如何获取参数中的值

    2.1 基本数据类型:#{参数} 获取参数中的值

    2.2 复杂数据类型:#{属性名} ,map中则是#{key}

    3.案例

    3.1 传入Long型

    mapper接口代码:

    public User findUserById(Long id);

    xml代码:

    3.2 传入List

    mapper接口代码:

    public List findUserListByIdList(List idList);

    xml代码:

    在使用foreach的时候最关键的也是最容易出错的就是collection属性。

    该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,主要有一下3种情况:

    1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list

    2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array

    3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可

    3.3 传入数组:

    mapper接口代码:

    public List findUserListByIdList(int[] ids);

    xml代码:

    3.4 传入map

    mapper接口代码:

    public boolean exists(Map map);

    xml代码:

    MAP中有list或array时,foreach中的collection必须是具体list或array的变量名。

    比如这里MAP含有一个名为idList的list,所以MAP中用idList取值,这点和单独传list或array时不太一样。

    3.5传入JAVA对象

    mapper接口代码:

    public int findUserList(User user);

    xml代码:

    JAVA对象中有list或array时,foreach中的collection必须是具体list或array的变量名。

    比如这里User含有一个名为idList的list,所以User中用idList取值,这点和单独传list或array时不太一样。

    3.6注解@Param

    例子1:

    注解单一属性;这个类似于将参数重命名了一次

    mapper接口代码:

    List selectUserByTime(@Param(value="startdate")String startDate);

    xml代码:

    例子2:

    注解javaBean

    mapper接口代码:

    List selectUserByTime(@Param(value="dateVO")DateVO dateVO);

    xml代码:

    mybatis 之parameterType="Long"

     
    public ServiceMessage> selectByPrimaryKeyByArrayMemberId(            List memberIds)    {        try        {            if (memberIds == null || memberIds.size()==0){                return super.returnParamsError("参数为空!");            }            List list = memberMapper            .selectByPrimaryKeyByArrayMemberId(memberIds);            return super.returnCorrectResult(list);        }        catch (Throwable e)        {            return super.returnException(e);        }    }    public ServiceMessage> selectByPrimaryKeyByArrayMemberId(List memberIds);    List selectByPrimaryKeyByArrayMemberId(List memberIds);    @Test    public void testSelectByPrimaryKeyByArrayMemberId()    {        InternalMemberService internalMemberService = J1SOAHessianHelper.getService(url,InternalMemberService.class);        List memberIds = new ArrayList();        memberIds.add(1l);        memberIds.add(2l);        memberIds.add(1855l);        ServiceMessage> sm = internalMemberService.selectByPrimaryKeyByArrayMemberId(memberIds);        System.out.println(sm.getResult());    }

    感谢各位的阅读!关于"MyBatis的parameterType传入参数类型有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    参数 代码 类型 接口 属性 数据 时候 配置 复杂 注解 中用 例子 内容 变量 对象 情况 数组 更多 篇文章 输入 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 鼎捷软件 软件开发岗位 服务器功能测试报告 数据库的有效性规则 接口软件开发公司 服务器ie安全模式 我的世界最混乱的服务器下载教学 oracle数据库改名 大学的数据库技术及应用要背嘛 web服务器深度解析以及调优 怎么开服务器我的世界pe 西安天迅网络技术有限公司 远程服务器管理软件有哪些 软件开发到运行详细流程 gdbc通用数据库客户端 金海网络技术有限公司怎么样 三亚网络安全教育 网络技术公司招聘标准 北京小尺网络技术有限责任公司 说说网络安全个人隐私的认识 济南数据库培训多少钱 鼎捷软件 软件开发岗位 成都极致互动网络技术游戏 烟台比较好的软件开发公司 wow破碎服务器 机器人软件开发专业大学 参观网络安全科技 互联网属于科技服务业 互联网访问服务器地址 数据库表设计的不好的一个特征是 几几年开展了国家网络安全宣传周
    0