10、mybatis學習——sqlmapper配置返回list和map結果集


一、返回list

  mapper接口方法:

  sqlmapper文件配置:

    <!-- 根據name模糊查詢返回list
            resultType寫list里面的類型,多個結果mybatis會自動添加到list中 -->
    <select id="selectEmpByNameLike" resultType="employee">
        select * from employee where name like #{name}
    </select>

  測試方法:

    @Test
    public void testSelectEmpByNameLike() throws IOException {
        String source = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(source);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
        System.out.println(employeeMapper.selectEmpByNameLike("%o%"));
        sqlSession.close();
    }

二、查詢一個記錄返回一個map

  mapper接口方法:

   sqlmapper文件配置

    <!-- 返回一條記錄的map;key就是列名,值就是對應列的值
        查詢結果只有一條時resultType的值為map,mybatis自動為許多java類型取了別名 -->
    <select id="selectEmpByIdReturnMap" resultType="map">
        select * from employee where id = #{id}
    </select>

  測試方法:

    @Test
    public void testSelectEmpByIdReturnMap() throws IOException {
        String source = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(source);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        
        SqlSession sqlSession = sqlSessionFactory.openSession();
        
        EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
        System.out.println(employeeMapper.selectEmpByIdReturnMap(1));
        sqlSession.close();
    }

三、查詢多條記錄返回一個map

  mapper接口方法:

   sqlmapper文件配置:

    <!-- 返回多條記錄的map;key為對應map接口方法中的@MapKey的值,值就是對應key的對象
    查詢結果為多條時resultType的值為返回對象的類型 -->
    <select id="selectEmpByNameLikeReturnMap" resultType="employee">
        select * from employee where name like #{name}
    </select>

  測試方法:

    @Test
    public void testSelectEmpByNameLikeReturnMap() throws IOException {
        String source = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(source);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        
        SqlSession sqlSession = sqlSessionFactory.openSession();
        
        EmployeeMapper employeeMapper = sqlSession.getMapper(EmployeeMapper.class);
        System.out.println(employeeMapper.selectEmpByNameLikeReturnMap("%o%"));
        sqlSession.close();
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM