parameterType 配置参数
基 本 类 型 和 String
我 们 可 以 直 接 写 类 型 名 称 , 也 可 以 使 用 包 名 . 类 名 的 方 式 , 例 如 :
java.lang.String。
实体类类型,目前我们只能使用全限定类名。
传递 pojo(实体类) 包装对象
编写 QueryVo
/** * * <p>Title: QueryVo</p> * <p>Description: 查询条件对象</p> * */ public class QueryVo implements Serializable {
private User user;
public User getUser() { return user;
} public void setUser(User user){
this.user = user;
}
}
编写持久层接口
/**
*
* <p>Title: IUserDao</p>
* <p>Description: 用户的业务层接口</p>
* */
public interface IUserDao {
/**
* 根据 QueryVo 中的条件查询用户
* @param vo
* @return
*/
List<User> findByVo(QueryVo vo);
}
持久层接口的映射文件
<!-- 根据用户名称模糊查询,参数变成一个 QueryVo 对象了 -->
<select id="findByVo" resultType="com.itheima.domain.User" parameterType="com.itheima.domain.QueryVo"> select * from user where username like #{user.username}; </select>
测试包装类作为参数
@Test
public void testFindByQueryVo() {
QueryVo vo = new QueryVo();
User user = new User();
user.setUserName("%王%");
vo.setUser(user);
List<User> users = userDao.findByVo(vo);
for(User u : users) {
System.out.println(u);
}
}