MyBatis ParameterType配置参数的作用

1.ParameterType的使用方式:

SQL 语句传参的时候,使用标签的 parameterType 属性来设定。该属性的取值可以 是基本类型,引用类型(例如:String 类型),还可以是实体类类型(POJO 类),同时也可以使用实体类的包装 类.

 

1.1 注意事项:

基本类型和 String可以直接写类型名称 ,也可以使用包名类名的方式 ,例如:java.lang.String。 实体类类型,目前我们只能使用全限定类名。究其原因,是 mybaits在加载时已经把常用的数据类型注册了别名,从而我们在使用时可以不写包名,而我们的是实体类并没有注册别名,所以必须写全限定类名。

 

2.传递pojo包装对象

开发中通过 pojo 传递查询条件 ,查询条件是综合的查询条件,不仅包括用户查询条件还包括其它的查询条件(比如将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数。 Pojo 类中包含 pojo。

 

 

需求:根据用户名查询用户信息,查询条件放到 QueryVo 的 user 属性中。

编写QueryVo

public class QueryVo implements Serializable { 
 private User user; 

 public User getUser() {   return user;  } 
 public void setUser(User user) {   this.user = user;  }  
}

编写持久层接口

public interface IUserDao {    
    /** 
    * 根据 QueryVo 中的条件查询用户  
    * @param vo   
    * @return   
    */  
    List findByVo(QueryVo vo); 
}

持久层映射文件


测试包装类作为参数

@Test 
public void testFindByQueryVo() {  
    QueryVo vo = new QueryVo();  
    User user = new User();  
    user.setUserName("%王%");  
    vo.setUser(user);  
    List users = userDao.findByVo(vo);  
    for(User u : users) {   
        System.out.println(u);  
    } 
}

 

 

你可能感兴趣的:(Java框架)