zoukankan      html  css  js  c++  java
  • Hibernate + mysql 查询伪劣时:= 出现 Space is not allowed after parameter prefix ':' MySQL异常

    需求: 要求查询一个站点在地市和省的排名信息出来。

    效果图:

    代码实现: 注释的部分是起初采用的hibernate 查询,但无论怎么写都会报 space is not allowed after parameter prefix ':'......  后来上网查了,有人也遇到过类似问题,给出的解决方法是转义冒号。 http://blog.csdn.net/woshizhangliang999/article/details/48036407  但是在不知道为何在我里不起作用。 可能是我程序限制??反正不太清楚。 后来没办法采用了原始的JDBC 查询。 在此记录一下。 代码如下。

    @Autowired
    private JdbcTemplate jdbcTemplateLoms;
    public List getStationGameSalesRank(String regionCode) {
            
            StringBuffer sb = new StringBuffer();
            sb.append("select @curRank:=@curRank+1 AS rank, sales.* from (SELECT s.station_id stationId, sum(s.this_year_sale) sales_sum FROM station_game_sales_shanxi s ");
            
    //        String sql = "select @curRank \:=@curRank+1 AS rank, sales.* from ( "+
    //                     "SELECT s.station_id stationId, sum(s.this_year_sale) sales_sum FROM station_game_sales_shanxi s ";
    //                    
            if (regionCode != null && !"".equals(regionCode)
                    && !"0".equals(regionCode)) {
                sb.append("LEFT JOIN station sta on s.station_id = sta.station_id ");
                sb.append("Where sta.region_code ='"+regionCode+"' ");
            }
            sb.append("GROUP BY s.station_id ORDER BY sales_sum DESC ) sales, (SELECT @curRank:=0) q ");
            List list = null;
            try{
                list = jdbcTemplateLoms.queryForList(sb.toString());
    //            Session session = (Session) em.getDelegate();
    //            SQLQuery query = session.createSQLQuery(sql);
    //            if (regionCode != null && !"".equals(regionCode)
    //                    && !"0".equals(regionCode)) {
    //                query.setParameter("regionCode", regionCode.trim());
    //            }
    //            query.setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP);
    //            list = query.list();
            }catch(Exception ex){
                ex.printStackTrace();
            }
            return list;
        }
  • 相关阅读:
    jdk和dubbo的SPI机制
    何谓架构
    ElasticSearch的API使用
    LFU的基本原理与实现
    如何判断单向链表有环?
    mysql执行过程以及顺序
    原来 TinyPNG 可以这样玩!
    deno + mongodb 实战踩坑记
    好消息,vue3.0 进入 beta 阶段!
    听说会做这道题的人后来都进了头条?
  • 原文地址:https://www.cnblogs.com/zyfxlv/p/8026931.html
Copyright © 2011-2022 走看看