簡單類型( 基本數據類型 )
java
HashMapsql
單個JavaBean( 自定義JavaBean類型 )數據庫
傳入JavaBean的包裝類型( 用處:好比說用戶的複雜查詢( 關聯查詢 ),須要傳入用戶信息,商品信息,訂單信息等 )app
介紹 JavaBean的包裝類型( 定義VO和 Mapper.xml )dom
一、resultType:輸出JavaBean類型:
測試
使用resultType進行映射,只有查詢出來的列名和JavaBean中的屬性名一致,才能夠映射成功( 和dbUtils很相似 )。spa
SELECT username username_,sex sex_ from Users
若是查詢出來的列名和JavaBean中的屬性名徹底不一致,就不會建立JavaBean對象( null )code
若是查詢出來的列名和JavaBean中的屬性名有一個一致,就會建立JavaBean對象orm
2.resultType:輸出簡單類型:xml
查詢出來的結果只有一行一列,才能使用簡單類型
3.resultType:輸出JavaBean 集合類型:
在mapper.xml中,查詢出單個JavaBean列表,resultType指定的類型仍是JavaBean類型。在Java中獲取返回值類型是集合類型。
定義resultMap
使用resultMap做爲mapper.xml的輸出映射類型
測試
<!-- 定義resultMap select id id_,name name_ from Users where id=#{id} 和 Users類中的屬性作映射 type:resultMap最終所映射的JavaBean類型( 能夠使用別名 ) id:對resultMap的惟一標識 --> <resultMap id="userResultMap" type="com.ts.domain.Users"> <!-- id標識查詢結果中的惟一標識 column:數據庫表的列名 property:JavaBean屬性名 最後將column和property作映射 --> <id column="id_" property="id"/> <!-- result:對普通列的映射定義 --> <result column="name_" property="name"/> </resultMap> <select id="findUserByIdResultMap" parameterType="int" resultMap="userResultMap"> select id id_,name name_ from Users where id=#{id} </select>
@Test public void testResultMap() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); Users user = userMapper.findUserByIdResultMap(2); System.out.println(user); }