生活随笔
收集整理的這篇文章主要介紹了
Mybatis 入门之resultMap与resultType讲解实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
resultMap:適合使用返回值是自定義實體類的情況
resultType:適合使用返回值得數據類型是非自定義的,即jdk的提供的類型
resultMap :?
type:映射實體類的數據類型
id:resultMap的唯一標識
column:庫表的字段名
property:實體類里的屬性名
配置映射文件:
[java] view plaincopyprint?
<?xml?version="1.0"?encoding="UTF-8"??>??<!DOCTYPE?mapper??PUBLIC?"-//mybatis.org//DTD?Mapper?3.0//EN"??"http://mybatis.org/dtd/mybatis-3-mapper.dtd">??<!--?namespace:當前庫表映射文件的命名空間,唯一的不能重復?-->??<mapper?namespace="com.hao947.sql.mapper.PersonMapper">??????<!--?type:映射實體類的數據類型?id:resultMap的唯一標識?-->??????<resultMap?type="person"?id="BaseResultMap">??????????<!--?column:庫表的字段名?property:實體類里的屬性名?-->??????????<id?column="person_id"?property="personId"?/>??????????<result?column="name"?property="name"?/>??????????<result?column="gender"?property="gender"?/>??????????<result?column="person_addr"?property="personAddr"?/>??????????<result?column="birthday"?property="birthday"?/>??????</resultMap>??????<!--id:當前sql的唯一標識???????????parameterType:輸入參數的數據類型????????????resultType:返回值的數據類型????????????#{}:用來接受參數的,如果是傳遞一個參數#{id}內容任意,如果是多個參數就有一定的規則,采用的是預編譯的形式select???????????*?from?person?p?where?p.id?=???,安全性很高?-->????????<!--?sql語句返回值類型使用resultMap?-->??????<select?id="selectPersonById"?parameterType="java.lang.Integer"??????????resultMap="BaseResultMap">??????????select?*?from?person?p?where?p.person_id?=?#{id}??????</select>??????<!--?resultMap:適合使用返回值是自定義實體類的情況???????resultType:適合使用返回值的數據類型是非自定義的,即jdk的提供的類型?-->??????<select?id="selectPersonCount"?resultType="java.lang.Integer">??????????select?count(*)?from??????????person??????</select>????????<select?id="selectPersonByIdWithMap"?parameterType="java.lang.Integer"??????????resultType="java.util.Map">??????????select?*?from?person?p?where?p.person_id=?#{id}??????????</select>????</mapper>?? 實體類Person.java
[java] view plaincopyprint?
<pre?name="code"?class="java">package?com.hao947.model;??import?java.util.Date;??public?class?Person?{??????private?Integer?personId;??????private?String?name;??????private?Integer?gender;??????private?String?personAddr;??????private?Date?birthday;??????@Override??????public?String?toString()?{??????????return?"Person?[personId="?+?personId?+?",?name="?+?name?+?",?gender="??????????????????+?gender?+?",?personAddr="?+?personAddr?+?",?birthday="??????????????????+?birthday?+?"]";??????}??}?? 測試類
[java] view plaincopyprint?
public?class?PersonTest?{??????SqlSessionFactory?sqlSessionFactory;??????@Before??????public?void?setUp()?throws?Exception?{????????????????????InputStream?in?=?Resources.getResourceAsStream("sqlMapConfig.xml");????????????????????sqlSessionFactory?=?new?SqlSessionFactoryBuilder().build(in);??????}????????????????@Test??????public?void?selectPersonById()?{????????????????????SqlSession?session?=?sqlSessionFactory.openSession();??????????try?{??????????????Person?p?=?session.selectOne(??????????????????????"com.hao947.sql.mapper.PersonMapper.selectPersonById",?1);??????????????System.out.println(p);??????????}?finally?{??????????????session.close();??????????}??????}??????@Test??????public?void?selectPersonCount()?{????????????????????SqlSession?session?=?sqlSessionFactory.openSession();??????????try?{??????????????Integer?p?=?session.selectOne(??????????????????????"com.hao947.sql.mapper.PersonMapper.selectPersonCount");??????????????System.out.println(p);??????????}?finally?{??????????????session.close();??????????}??????}??????@Test??????public?void?selectPersonByIdWithMap()?{????????????????????SqlSession?session?=?sqlSessionFactory.openSession();??????????try?{??????????????Map<String?,Object>?map?=?session.selectOne(??????????????????????"com.hao947.sql.mapper.PersonMapper.selectPersonByIdWithMap",1);??????????????System.out.println(map);??????????}?finally?{??????????????session.close();??????????}??????}??}??
轉載于:https://www.cnblogs.com/archermeng/p/7537407.html
總結
以上是生活随笔為你收集整理的Mybatis 入门之resultMap与resultType讲解实例的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。