parameterType是必须写的吗?

简介: xml中没有配置parameterType,但是这是正确的,因为mybatis能自动识别,但返回值类型不能不写,因为mybatis需要将获得结果封装到相应的类中,查询的字段与类的属性需要一致。

parameterType是必须写的吗?


一、parameterType详解


   在MyBatis的select、insert、update、delete这些元素中都提到了parameterType这个属性。MyBatis现在可以使用的parameterType有基本数据类型和JAVA复杂数据类型:


① 基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值


② 复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值


二、parameterType例子


   现在有一个Mapper配置文件,以下是片段:


 <select id="queryCommandListByPage" resultMap="CommandResult" >
      select <include refid="columns"/> from command a left join command_content b 
    on a.id=b.command_id
      <where>
          <if test="command.name != null and !"".equals(command.name.trim())">
            and a.name=#{command.name}
        </if>
        <if test="command.description != null and !"".equals(command.description.trim())">
            and a.description like '%' #{command.description} '%'
        </if>
      </where>
      <if test="flag==1">
        group by aid
    </if>
      order by id
  </select>
  <sql  id="columns">
      a.id aid,a.name,a.description,b.content,b.id,b.command_id
  </sql>


下面是IService接口:


     /**
     * 拦截器实现分页
     */
    public List<command> queryCommandListByPage(Map<String,Object>parameter);


上面的xml中没有配置parameterType,但是这是正确的,因为mybatis能自动识别,但返回值类型不能不写,因为mybatis需要将获得结果封装到相应的类中,查询的字段与类的属性需要一致(不一致的需要显示的配置)。


还有一种情况是参数有多个,数据类型多种,无法确认参数类型。用的是#{index}取值。


以上是鄙人愚见,有不当或补充之处,欢迎指正。

目录
相关文章
P9094 [PA2020] Mieszanie kolorów
P9094 [PA2020] Mieszanie kolorów
|
6月前
|
缓存 Java API
深入理解JPA
深入理解JPA
191 0
|
机器学习/深度学习 人工智能 文字识别
超全干货分享:什么是RPA?
7月28日,阿里云RPA4.0版本重磅发布,为企业数字化转型提供高效、安全、可靠的服务。RPA是一款软件机器人,能够模拟人的行为完成软件的交互,能够解决跨系统、跨平台,重复有规律的工作流程。时至今日,阿里云RPA已被超过50万各行各业的用户采用,可以跟踪到的执行总次数已突破120亿次,用户使用RPA获得了3-10倍的效率提升
11185 0
超全干货分享:什么是RPA?
|
算法
PAT条条大路通罗马
Indeed there are many different tourist routes from our city to Rome. You are supposed to find your clients the route with the least cost while gaining the most happiness.
123 0
|
Web App开发
XPathHelper使用
XPathHelper使用
152 0
PathAnimation
原文:PathAnimation 使用Blend制作PathAnimation 1:选中Path转换为运动路径 2:选择目标对象   PathAnimation使用动态的Path PathAnimation动画在播放的时候,PahtGeometry是已经确定的,不会改变,不会实时的根据Pa...
904 0