1.1 什么是输入输出参数?
- 输入参数:parameterType
对应方法的形参- 输出参数: resultType
表示方法的返回值类型
1.2 parameterType输入参数
1.2.1 java简单类型
- 接口
接口方法参数是简单类型:基本类型、包装类型、String类型
- 接口映射
- 关于输入参数的其它写法
1.2.2 POJO类型
- POJO(plain Ordinary java Object):简单的java对象,实际就是普通的javaBean
- 方法参数除了是简单类型外,也可以是对象类型
<!--
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作为输入参数查询。
- 封装查询条件
- dao接口添加查询方法
- 接口映射
<!--条件查询
#{user.username} 获取的是QueryVo中User对象的username属性
birthday<=#{end} 这里需要把小于号转译: <-->
<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 <= #{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简单类型作为输出参数
-
接口
- 映射
- 测试
//测试
System.out.println("记录数:"+userDao.count());
1.3.2 pojo类型
- resultType指定方法返回对象(pojo类型)
/**根据条件查询*/ List<User> findByCondition(QueryVo queryVo);