zoukankan      html  css  js  c++  java
  • mybatis系列-06-输入映射

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

    6.1     传递pojo的包装对象

    6.1.1     需求

      完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的)

    6.1.2     定义包装类型pojo

      针对上边需求,建议使用自定义的包装类型的pojo。

      在包装类型的pojo中将复杂的查询条件包装进去。

    public class UserQueryVo {
    
       //传入多个id
       private List<Integer> ids;
    
       //在这里包装所需要的查询条件
       //用户查询条件
       private User userCustom;

    6.1.3     mapper.xml

      在UserMapper.xml中定义用户信息综合查询(查询条件复杂,通过高级查询进行复杂关联查询)。

       <!-- 用户信息综合查询
       #{userCustom.sex}:取出pojo包装对象中性别值
       ${userCustom.username}:取出pojo包装对象中用户名称
        -->
       <select id="findUserList" parameterType="UserQueryVo" resultType="User">
          SELECT * FROM USER WHERE sex = #{userCustom.sex} AND username LIKE '%${userCustom.username}%'
       </select>

    6.1.4     mapper.java

    public List<User> findUserList(UserQueryVo userQueryVo);

    6.1.5     测试代码

       @Test
        public void testFindUserCount(){
    
            SqlSession sqlSession = sqlSessionFactory.openSession();
    
            //创建UserMapper对象,mybatis自动生成mapper代理对象
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    
            //创建包装对象,设置查询条件
            UserQueryVo userQueryVo = new UserQueryVo();
            User user = new User();
            user.setId(24);
            user.setSex("1");
            user.setUsername("张");
            userQueryVo.setUserCustom(user);
    
            //调用userMapper的方法
            List<User> list = userMapper.findUserList(userQueryVo);
            System.out.println(list.size());
    }
  • 相关阅读:
    Ubuntu下Chromium for Android 源码的编译
    Ubuntu下编译Chromium for Android
    解决Inno Setup制作安装包无法创建桌面快捷方式的问题
    linux下验证码无法显示:Could not initialize class sun.awt.X1 解决方案
    在ubuntu 14.04 64位系统上安装32位库
    zxing实现二维码生成和解析
    H264码流打包分析
    YUV格式&像素
    谈谈“色彩空间表示方法”——RGB、YUY2、YUYV、YVYU、UYVY、AYUV
    RTP与RTCP协议介绍
  • 原文地址:https://www.cnblogs.com/ChinaHook/p/5532435.html
Copyright © 2011-2022 走看看