Controller层:
//主要代码
List<Map> results = service.getAccountInfo(map);
Service层:
//接口层
List<Map> getAccountInfo(Map map)throws Exception;
//实现层
@Override
public List<Map> getAccountInfo(Map map) throws Exception {
return robotDao.getAccountInfo(map);
}
Dao层:
//mybatis 动态代理方式,无需实现层
List<Map> getAccountInfo(Map map)throws Exception;
SQL:
<select id="getAccountInfo" parameterType="map" resultType="map">
select id as "id",organId as "organId",name as "name", uploadurl as "photo",decode(password,'',identity || '@2019',password) as "password",to_char(startTime,'yyyy-MM-dd') as "startTime",Replace (CRIMINALNAME, '、', ';') as "crime" from user
<where>1=1
<if test="id!=''and id!=null">
and id=#{id}
</if>
<if test="organId!=''and organId!=null">
and organId IN
(SELECT ID
FROM organ
START WITH ID = #{organId}
CONNECT BY PRIOR ID = FATHERORGANID)
</if>
</where>
</select>
注意:以map方式接收结果集时,返回数据的key(对应表中字段名) 全为大写,这个时候用 as的方式命名驼峰方式。