ResultMap主要用于单表查询,方便快捷:
<select id="checkUser" resultMap="com.wyh.springbootmybatisdemo.pojo.SportUser">
select * from easyuser ;
</select>
这里的com.wyh.springbootmybatisdemo.pojo.SportUser
就是写好的实体类。
ResultType一般用于多表联合查询,避免变量名混乱:
<!-- resultType可以把查询结果封装到pojo类型中,但必须pojo类的属性名和查询到的数据库表的字段名一致-->
<resultMap id="BaseResultMap" type="com.wyh.springbootmybatisdemo.pojo.MainMenu" >
<!-- 定义主键-->
<id column="id" property="id" />
<!-- 定义普通属性-->
<!-- property:在pojo中的属性名 column:在数据库中的列名-->
<result column="title" property="title" />
<result column="path" property="path" />
<!-- 映射分支导航-->
<collection property="sList" ofType="com.wyh.springbootmybatisdemo.pojo.SubMenu">
<!-- 定义主键-->
<id column="sid" property="id" />
<!-- 定义普通属性-->
<!-- property:在pojo中的属性名 column:在数据库中的列名-->
<result column="stitle" property="title" />
<result column="spath" property="path" />
</collection>
</resultMap>
<!-- 起别名sid,stitle,spath是为了在resultMap中方便区分,因为两个表的字段名相同-->
<select id="getMenus" resultMap="BaseResultMap">
select mm.*,sm.id as sid,sm.title as stitle,sm.path as spath
from mainmenu mm ,submenu sm
WHERE mm.id = sm.mid
</select>
其中,com.wyh.springbootmybatisdemo.pojo.MainMenu
和com.wyh.springbootmybatisdemo.pojo.SubMenu
分别是两个实体类,sList
就是SubMenu
的。