先说下实体类的配置,给个List或者Set
private Integer id;
private String navName;//名称
private String navContent;//内容
private String url;//链接地址
private String navLevel;//导航栏级别
private String navPname;//父级导航名称
private String navPid;//父级导航id
private String navIsdel;//0正常
private String navSequence;//导航排序
private List<Navigation> nav;
接下来是mapper.xml,注意,因为是单表,所以字段名是一致的,建议使用别名查询,不然会出问题的。
<resultMap type="com.jjy.pojo.Navigation" id="test" extends="BaseResultMap">
<collection property="nav" ofType="com.jjy.pojo.Navigation">
<result column="bname" property="navName" jdbcType="VARCHAR" />
<result column="burl" property="url" jdbcType="VARCHAR" />
</collection>
</resultMap>
然后是sql语句,单表关联查询的话尽量选择做左联接查询,效率要比内连接高一些
<select id="test" resultMap="test">
select
a.id,a.nav_name, a.nav_content, a.url, a.nav_level, a.nav_pname, a.nav_pid, a.nav_isdel, a.nav_sequence, b.nav_name bname
from navigation a left join navigation b on b.nav_pid = a.id where a.nav_pid=0
</select>