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;
}
Hibernate + mysql 查询伪劣时:= 出现 Space is not allowed after parameter prefix ':' MySQL异常的更多相关文章
- Space is not allowed after parameter prefix ':'
问题:在hibernate中执行mysql语句,如果mysql语句中含有@a := 1 之类的变量,回报这个错误 语句类似于“set @rownum=0, @preval=null; select @ ...
- Hibernate4.x 报错 Space is not allowed after parameter prefix ':'
1.问题描述 hibernate4.0使用原生sql: (SELECT a.user_id,(@rowno:=@rowno+1) as rowno,a.goods_value FROM n_wo ...
- mysql查询更新时的锁表机制分析
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制. 一.概述 MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(t ...
- mysql查询更新时的锁表机制分析(只介绍了MYISAM)
为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制. 一.概述 MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(t ...
- mysql 查询数据时按照A-Z顺序排序返回结果集
mysql 查询数据时按照A-Z顺序排序返回结果集 $sql = "SELECT * , ELT( INTERVAL( CONV( HEX( left( name, 1 ) ) , 16, ...
- PHP连接MySQL查询中文时显示Notice: Trying to get property of non-object
1.保证MySQL和PHP的编码一致 MySQL 修改整个数据库的编码格式 注意:如果数据不重要的话,可以直接使用更改数据库的编码格式,再重新建表即可.(此例中的数据库是test) alter ...
- MySQL 查询字段时,区分大小写
设置排序规则: 区分大小写的查询: mysql> select * from user; +----+----------+-----------+------+------+ | id | u ...
- mysql查询字段时实现左右补零
右补0:select RPAD(id,8,'0') as pad from tmp; 左补0:select LPAD(id,8,'0') as pad from tmp;
- mysql 查询 根据时分秒取数据 比如 取 时间为 8点半的 dateformat 时间函数转换
date_format(date,'%H') = 8 and date_format(date,'%i') = 30 SELECT * FROM `t_pda_trucklog` WHERE D ...
随机推荐
- 03_Java基础语法_第3天(Scanner、Random、流程控制语句)_讲义
今日内容介绍 1.引用类型变量的创建及使用 2.流程控制语句之选择语句 3.流程控制语句之循环语句 4.循环高级 01创建引用类型变量公式 * A: 创建引用类型变量公式 * a: 我们要学的Scan ...
- MySQL 日志功能详解
MySQL日志分类 1:查询日志 :query log 2:慢查询日志:slow_query_log 查询执行时长超过指定时长的查询操作所记录日志 3:错误日志:error log ...
- 3dContactPointAnnotationTool开发日志(三四)
今天就是让背景图可以变大变小,变透明度,然后将3d的点投影到图片上,输出2d接触点信息: 可以看到输出了正确的接触点信息: 然后还把空物体的包围盒大小设置为边长为0.1的的正方体,点击选中 ...
- 【beta】Scrum站立会议第4次....11.6
小组名称:nice! 组长:李权 成员:于淼 刘芳芳韩媛媛 宫丽君 项目内容:约跑app(约吧) 时间: 12:00——12:30 地点:传媒西楼220室 本次对beta阶段的需求进行更新如下: ...
- 【APS.NET Core】- launchSettings.json
launchSettings.json文件为一个ASP.NET Core应用保存特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等.在launchSettings.json文件中进行配置 ...
- vue-cli3使用cdn方式引入moment.js
1. index.html引入: <script src="https://cdn.bootcss.com/moment.js/2.20.1/moment.min.js"&g ...
- List、Set、Map典型实现
1:集合 Collection(单列集合) List(有序,可重复) ArrayList 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector 底层数据结构是数组,查询快,增删慢 线程 ...
- VBA-从周课表统计节次
Sub datainsert() Dim r1 As Integer, r2 As Integer, i As Integer, j As Integer, findrow As Integer, f ...
- python的N个小功能(更新文件)
########################################################################## #对于第二份文件:第一份与第二份不相同,以第二份为 ...
- linux硬盘满了问题排查
关键指令: df du find step1: 如果发现硬盘满了,首先要确定一下,使用df查看硬盘使用情况 df -h step2: 从第一步结果判定满了,确定哪些文件或哪个文件占了大头,使用du指令 ...