1.1 什么是输入输出参数?

Mybatis参数深入、CDATA批量转译、pojo包装类型

  • 输入参数:parameterType
    对应方法的形参
  • 输出参数: resultType  
    表示方法的返回值类型

1.2 parameterType输入参数
1.2.1 java简单类型

  • 接口  
    接口方法参数是简单类型:基本类型、包装类型、String类型

Mybatis参数深入、CDATA批量转译、pojo包装类型

  • 接口映射 

Mybatis参数深入、CDATA批量转译、pojo包装类型

  •  关于输入参数的其它写法
    Mybatis参数深入、CDATA批量转译、pojo包装类型

 1.2.2 POJO类型

  • POJO(plain Ordinary java Object):简单的java对象,实际就是普通的javaBean
  • 方法参数除了是简单类型外,也可以是对象类型
     

Mybatis参数深入、CDATA批量转译、pojo包装类型

 <!--
    insert:执行的是插入操作
    id:接口中的方法名字
    parameterType:设置接口方法参数类型

    #{对象的属性名},是一种表达式,可以获取参数类型对象的数据数据,要求表达式里面的属性名与对象属性名必须完全一致
                    OGNL表达式。
    -->
    <insert id="save" parameterType="com.htjf.entity.User">
        insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})
    </insert>

 1.2.3 POJO包装类型

  • pojo包装类型就是指:一个对象里面包含了另外一个对象
  • 需求:
    查询需求:按照性姓名、生日的范围查询。
  • 分析:
    1.新建一个对象:QueryVo,封装所有的查询条件。
    2.接口方法中根据QueryVo作为输入参数查询。
  • 封装查询条件 

Mybatis参数深入、CDATA批量转译、pojo包装类型 

  • dao接口添加查询方法

 Mybatis参数深入、CDATA批量转译、pojo包装类型

  •  接口映射
     
<!--条件查询
   #{user.username} 获取的是QueryVo中User对象的username属性
   birthday<=#{end}  这里需要把小于号转译: &lt;-->
    <select id="findByCondition" parameterType="com.htjf.entity.QueryVo"
            resultType="com.htjf.entity.User">
    select * from user where username=#{user.username}
    and birthday>=#{start} and birthday &lt;= #{end}
</select>

 

<!--使用CDATA区批量转译:语法:  <![CDATA[要转译的内容]]> -->
<select id="findByCondition" parameterType="com.htjf.entity.QueryVo"
        resultType="com.htjf.entity.User">
    <![CDATA[
    select * from user where username=#{user.username}
    and birthday>=#{start} and birthday <= #{end}
    ]]>
</select>

1.3 resultType输出参数

1.3.1 java简单类型作为输出参数

  • 接口
    Mybatis参数深入、CDATA批量转译、pojo包装类型 

  • 映射

    Mybatis参数深入、CDATA批量转译、pojo包装类型 
  • 测试
     
//测试
System.out.println("记录数:"+userDao.count());

 1.3.2 pojo类型

  • resultType指定方法返回对象(pojo类型)
  • /**根据条件查询*/
    List<User> findByCondition(QueryVo queryVo);
  • Mybatis参数深入、CDATA批量转译、pojo包装类型

 

 

相关文章:

  • 2021-05-15
  • 2021-08-22
  • 2021-09-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
  • 2022-01-23
  • 2021-07-09
  • 2021-12-07
相关资源
相似解决方案