Mybatis 的参数

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);
  } 
}

猜你喜欢

转载自www.cnblogs.com/naigai/p/12051496.html