20191230——输入映射

输入映射
通过输入parameterType指定输入参数的类型,类型可以是简单类型,hashmap,pojo类型

主要讲pojo的包装对象
需求:完成用户综合查询,需要传入查询条件(可能包括用户信息,也可能包括其他信息,比如商品的、订单的)
针对上边需求,使用自定义的包装类的包装类

自定义包装类型pojo
在包装类型中pojo中复杂的查血条件包装进去。

package cn.itcast.mybatis.pojo;

public class UserQueryVo {
    //包装所需要的查询条件

    public UserCustom getUserCustom() {
        return userCustom;
    }

    public void setUserCustom(UserCustom userCustom) {
        this.userCustom = userCustom;
    }

    //用户的条件条件
    private  UserCustom userCustom;


    //可以包装其他的查询条件:订单、商品
    

}

定义映射文件
一个是xml ,一个是java

在Usermapper中定义综合查询(查询条件复杂, 通过高级查询)

package cn.itcast.mybatis.mapper;

import cn.itcast.mybatis.pojo.UserCustom;
import cn.itcast.mybatis.pojo.UserQueryVo;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import cn.itcast.mybatis.pojo.User;

import javax.xml.ws.RespectBinding;

import java.io.InputStream;
import java.util.List;

import static org.junit.Assert.*;

public class UserMapperTest {
    private SqlSessionFactory sqlSessionFactory;
    @Before
    public void setUp() throws  Exception{
        //创建sqlSessionFactory
        String resource = "SqlMapConfig.xml";
        //得到配置文件流
        InputStream inputStream =  Resources.getResourceAsStream(resource);
        //创建会话工厂,传入配置文件信息
        sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
        //通过工厂得到SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
    }
    @Test
    public void findUserById() throws  Exception{
        //创建usermappper对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //创建mapper对象
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        //调用usermapper方法
        User user = userMapper.findUserById(1);
        System.out.println(user);

    }
    @Test
    public void testFindUserList() throws  Exception{
        //创建usermappper对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //创建mapper对象
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        //调用usermapper方法
        UserQueryVo userQueryVo =  new UserQueryVo();
        UserCustom userCustom = new UserCustom();
        userCustom.setSex("1");
        userCustom.setUsername("张三丰");
        userQueryVo.setUserCustom(userCustom);
        List<UserCustom> list = userMapper.findUserList(userQueryVo);
        System.out.println(list);

    }

}
发布了658 篇原创文章 · 获赞 39 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_36344771/article/details/103774197
今日推荐