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());  
        }

    【运行结果】

  • 相关阅读:
    supervisor 3.0a81 安装失败
    nginx使用HttpImageFilterModule
    docky模式下背景不透明
    一堆DLL中找一个类
    Python中序列化处理之——marshal和cPickle篇
    Mercurial host fingerprint warning
    Python中时间的处理之——tzinfo篇
    ServiceStack.Redis的问题与修正
    Python中时间的处理之——datetime篇
    Rdesktop 1.6.0 and Windows Server 2008 SP2
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5747844.html
Copyright © 2011-2022 走看看