一、返回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(); }