zoukankan      html  css  js  c++  java
  • 14_输出映射2_resultMap

    【resultMap】

    如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间做一个映射列表。

    1.定义resultMap,(在UserMapper.xml文件中)

         <!-- 
             定义resultMap 
             将SELECT id _id,username _username,birthday _birthday,address _address和User类中的属性做一个映射
             type: resultType最终映射的java对象类型,可以使用别名
             id:对resultMap的唯一标示
         -->
         <resultMap type="user" id="userResultMap">
             <!-- 
                 id:表示查询结果集中唯一标识
                 column:查询出来的列名
                 property:type指定的pojo类型中的属性名
              -->
              <id column="id_" property="id"/>
              <!-- 
                  result:对普通列名称的映射定义
               -->
              <result column="_username" property="username"/>
              <result column="_birthday" property="birthday"/>
              <result column="_address" property="address"/>
         </resultMap>

    2.使用resultMap作为statement的输出映射(该案例在UserMap.xml中,后面也不一定在同一个xml文件中,不在同一个文件中是要加namespace)

         <select id="findUserByIdResultMap" parameterType="int" resultMap="userResultMap">
             SELECT id _id,username _username,birthday _birthday,address _address from USER WHERE id=#{id}
         </select>

     【不要忘了UserMapper接口中对应的方法】

    【测试代码】

        @Test 
        public void testFindUserByIdResultMap() throws Exception {  
            
            SqlSession sqlSession =sqlSessionFactory.openSession();
            
            //创建一个UserMapper对象,Mybatis自动生成mapper代理对象
            UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
            
            //调用userMapper的方法
            User user = userMapper.findUserByIdResultMap(3); 
            
            System.out.println(user.toString());  
        }

    【运行结果】

  • 相关阅读:
    【排序】快速排序代码实现及优化
    【SpringMVC】重定向和转发
    RESTful风格
    【SpringMVC】用demo了解执行流程(xml配置)
    【Spring】声明式事务aop
    【Spring】整合Mybatis两种方式
    MongoDB语法与现有关系型数据库SQL语法比较
    Oracle查看哪些表被锁住了
    Mongodb分布式集群搭建
    四大MQ比较及MQ详解
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5747844.html
Copyright © 2011-2022 走看看