zoukankan      html  css  js  c++  java
  • mybatis的mapper映射文件中where,if,foreach等的使用

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    <!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 -->
    <mapper namespace="com.it.mapper.UserMapper">
        <sql id="selectUser">
            SELECT * FROM `user`
        </sql>
        
        <!-- 根据多个ID查用户信息 -->
        <select id="selectUsersByIds" parameterType="com.it.entity.QueryVo" resultType="com.it.entity.User">
            <include refid="selectUser"/>
            <where>
                <foreach collection="idsList" item="id" separator="," open="id in (" close=")">
                    #{id}
                </foreach>
            </where>
        </select>
    </mapper>

    UserMapper的映射文件

    package com.it.mapper;
    
    import java.util.List;
    
    import com.it.entity.QueryVo;
    import com.it.entity.User;
    
    public interface UserMapper {
    
        
        public User queryUserById(Integer id);
        
        public List<User> findUserByQueryVo(QueryVo vo);
        
        //根据多个id查询用户信息
        public List<User> selectUsersByIds(QueryVo vo);
    }

    Usermapper接口

    package com.it.test;
    
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    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.Test;
    
    import com.it.entity.QueryVo;
    import com.it.entity.User;
    import com.it.mapper.UserMapper;
    
    public class MapperTest {
        
        @Test
        public void  testfindUsersByIds() throws Exception{
            //加载配置文件
            String resource = "SqlMapConfig.xml";
            InputStream in = Resources.getResourceAsStream(resource);
            //创建sessionFactory
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(in);
            //创建sqlSession
            SqlSession sqlSession = sessionFactory.openSession();
            
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            
            List<Integer> ids = new ArrayList<Integer>();
            ids.add(10);
            ids.add(16);
            ids.add(22);
            QueryVo vo = new QueryVo();
            vo.setIdsList(ids);
            List<User> users = userMapper.selectUsersByIds(vo);
            for (User user : users) {
                System.out.println(user);
            }
        }
    }

    测试方法testfindUsersByIds

  • 相关阅读:
    Fast Search:爬网测试 金大昊(jindahao)
    FAST Search :deployment.xml
    TFS:强制签入已签出的文件 金大昊(jindahao)
    采用权限控制的工作流权限设计 金大昊(jindahao)
    FAST Search :创建自定义属性 金大昊(jindahao)
    SharePoint:替换搜索结果连接URL 金大昊(jindahao)
    SharePoint:迁移
    SharePoint:关于word模板内容类型(template.dotx) 金大昊(jindahao)
    SharePoint:备份和还原
    BCS 爬网报错 金大昊(jindahao)
  • 原文地址:https://www.cnblogs.com/optimistic-/p/7078543.html
Copyright © 2011-2022 走看看