一、问题描述
在完成某个接口时,发现需求是这样的:如果是管理员角色,要查询所有信息;如果是非管理员用户,则按照当前登录用户的类别来进行查询,最简单是拆分成两个sql语句,但是这种写法有点low,还是写成一个分条件查询sql语句。
二、实现
(1)业务层关键代码实现
HashMap<String,Object> map = new HashMap<>();
map.put("flag",flag);
map.put("banktype",banktype);
map.put("userid",userid);
map.put("searchText",searchText);
List<Entity> entity = XXMapper.GetUserMenuId(map);
(2)mapper接口
List<Entity> GetUserMenuId(Map<String,Object> map);
(3)Xml中sql语句
<select id="GetUserMenuId" parameterType="Map" resultMap="BaseResultMap">
select * from user
<choose>
<when test='flag=="0"'>