zoukankan      html  css  js  c++  java
  • 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();
        }
  • 相关阅读:
    HTTP的传输编码(Transfer-Encoding:chunked)
    单向链表寻找入环点算法的证明
    Java容器解析系列(17) LruCache详解
    Java容器解析系列(16) android内存优化之SparseArray
    Java容器解析系列(15) HashTable Dictionary & Properties
    Java容器解析系列(14) IdentityHashMap详解
    Swift开发之iOS11下UIToolBar非正常显示问题
    Python爬虫之Scrapy框架爬取XXXFM音频文件
    ARKit文档翻译之ARTrackable协议
    ARKit文档翻译之ARAnchor类
  • 原文地址:https://www.cnblogs.com/lyh233/p/12346354.html
Copyright © 2011-2022 走看看