开发者

MyBatis的mapper.xml文件中入参和返回值的实现

开发者 https://www.devze.com 2023-01-10 11:02 出处:网络 作者: 造化圣者
目录mapper.XML文件中入参和返回值的写法resultTypeparameterTypemapper.xml配置文件的参数说明id:标签只能修改主键字段resultMap的作用总结mapper.xml文件中入参和返回值的写法
目录
  • mapper.XML文件中入参和返回值的写法
    • resultType
    • parameterType
  • mapper.xml配置文件的参数说明
    • id:标签只能修改主键字段
    • resultMap的作用
  • 总结

    mapper.xml文件中入参和返回值的写法

    关于MyBATis的mapper.xml文件中入参和返回值的书写的问题,相信很多小伙伴都有这方面的问题,由于mybatis中mapper中的方法参数和返回值类型是变化的,而有时入参或者http://www.devze.com返回值时可以省略的,而有时js有时不可省略的。

    这就导致大家不知道parameterType,resultType什么时候可以省略,什么时候不能省略,我就在这里讨论一下这个问题。

    resultType

    1.对于resultType的情况是比较简单的,一般来说增删改中mapper.xml文件中对应的resultType是不需要写的,因为增删改方法的返回值都是影响行数的int,mybatis自行处理,是不需要写的。

    例如:

    MyBatis的mapper.xml文件中入参和返回值的实现

    此处的delete标签中入参为Int,而返回值是影响行数的int,此时的resultType是不需要写的,图中也可以看出:使用idea编写时,也没有提示resultType的属性。所以第一种情况就是当增删改标签中的返回值是不需要写的。

    2.开发者_Go学习当resultType指定查询返回的结果集是集合的类型时,则必须是泛型的类型。

    例如:

    MyBatis的mapper.xml文件中入参和返回值的实现

    此处的select标签的返回值是List集合,所以resultType为集合的泛型:users。

    所以第二种情况就是:当resultType指定查询返回的结果集是集合的类型时,则必须是泛型的类型。

    3.其他情况返回值是什么,resultType对应的填即可。

    parameterType

    1.当参数≥2个的时候,一般使用@Param(“参数名”)进行注解,标签中是可以通过#{参数名}获取到参数的,所以,此时的parameterType也是不用写的。

    例如:

    MyBatis的mapper.xml文件中入参和返回值的实现

    此时的入参是两个String类型的参数,所以此时的parameterType是不需要写的。

    2. 当入参参数是集合的时候如List,map等,parameterType的书写是可以省略的。

    例如:

    MyBatis的mapper.xml文件中入参和返回值的实现

    此处的insert标签js中的返回值是影响行数的int,resultTy编程客栈pe不需要写,而入参是list,也是直接省略不写。

    所以第二种情况:当入参参数是集合的时候如List,map等,parameterType的书写是可以省略的。

    3.其他情况下,yTTyYpmparameterType均正常填写。

    mapper.xml配置文件的参数说明

    id:标签只能修改主键字段

    • Result:除了主键以外的字段;
    • Column:数据库中的字段名称;
    • jdbcType:列数据库中字段的类型(可以省略不写);

    resultMap的作用

    (1)当数据库中字段名与实体类对象的属性名不一致时,可以进行转换;

    (2)当前查询的结果没有对应一个表时,可以自定义一个结果集;

    Sql语句片段,将公共部分抽取出来,通过include标签进行引用;

    Suffixoverrides,去除多余的逗号;

    注意:如果数据库中字段名称由多个单词构成,通过mybatis逆向工程生成的对象属性名称会按照驼峰命名法规则生成属性名称,其中:数据库中字段名称由多个单词构成的时候必须使用—下划线分隔。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消