永发信息网

this.getJdbcTemplate().query();取多条不一样数据库数据,返回的是多条一样的数据

答案:2  悬赏:70  手机版
解决时间 2021-02-03 10:55
  • 提问者网友:伴风望海
  • 2021-02-03 03:09
方法:
private List getMenusByRoleInUser(UserBean user) {
String getMenuSql = "select m.menuid,m.menuname,m.menulink,m.pmenuid,m.orderid" +
" from T_MENU m,T_MENU_ROLE mr,T_USER u,T_USER_ROLE ur,T_ROLE r where" +
" r.del!=1 and m.del!=1 and u.userid=ur.userid and r.roleid=ur.roleid" +
" and r.roleid=mr.roleid and m.menuid = mr.menuid and u.userid='"
+ user.getUserid() + "' order by m.orderid asc";
List menus =this.getJdbcTemplate().query(getMenuSql,MenuMapper);
return menus;
}
MenuMapper:

private RowMapper MenuMapper = new RowMapper() {
@Override
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
// TODO Auto-generated method stub
menu.setMenuid(rs.getInt("MENUID"));
menu.setMenuname(rs.getString("MENUNAME"));
menu.setMenulink(rs.getString("MENULINK"));
menu.setPmenuid(rs.getInt("PMENUID"));
menu.setOrderid(rs.getInt("ORDERID"));
return menu;
}
};
问题是,我数据库中有8条数据,该语句在plsql返回正确,在页面跑的时候返回的是8遍的最后一条数据,请问该怎么解决
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-02-03 03:19
this.getJdbcTemplate().query()

要的SQL应该是HQL。 使用了框架,应该尽量不要使用标准的SQL
全部回答
  • 1楼网友:长青诗
  • 2021-02-03 03:32
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯