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 ...
随机推荐
- unrecognized selector send to instancd 快速定位
1.在Debug菜单中Breakpoints->Create Symbolic Breakpoint; 2.在Symbolic中填写方法签名: -[NSObject(NSObject) does ...
- 《我是一只IT小小鸟》心得
虽然读这本书是老师布置的作业,但是读了几页后就被书中的内容所吸引住了.或许是因为我也是学这个专业的,所以书中的一些内容让我觉得非常的有兴趣.作为一个学习软件工程的大一学生还没真正的认识到这个专业的深奥 ...
- 继承&成员函数&覆盖
//成员函数. /* 当子父类中出现成员函数一模一样的情况,会运行子类的函数. 这种现象,称为覆盖操作.这时函数在子父类中的特性. 函数两个特性: 1,重载.同一个类中.overload 2,覆盖.子 ...
- WPF和Expression Blend开发实例:模拟QQ登陆界面打开和关闭特效
不管在消费者的心中腾讯是一个怎么样的模仿者抄袭者的形象,但是腾讯在软件交互上的设计一直是一流的.正如某位已故的知名产品经理所说的:设计并非外观怎样,感觉如何.设计的是产品的工作原理.我觉得腾讯掌握了其 ...
- 使用qemu-img创建虚拟磁盘文件
# 安装qemu-img yum install -y qemu-img # 获取帮助 qemu-img --help # 支持的虚拟磁盘文件格式 Supported formats: vvf ...
- Java实现的词频统计——功能改进
本次改进是在原有功能需求及代码基础上额外做的修改,保证了原有的基础需求之外添加了新需求的功能. 功能: 1. 小文件输入——从控制台由用户输入到文件中,再对文件进行统计: 2.支持命令行输入英文作品的 ...
- PHP关于传众多参数还是传上下文对象的性能测试
在开发微信公众平台平台的过程中,有这么几个参数总是需要传来传去,$userOpenId,$message,$time. 在整个程序的运行过程中,为了函数方便的处理,将这三个变量一直放在参数列表里.关于 ...
- 第116天: Ajax运用artTemplate实现菜谱
Ajax运用artTemplate实现菜谱 一.获取接口数据 1.聚合数据API https://www.juhe.cn,在这上面找到菜谱大全数据接口文档 具体使用是这样的: key后面的数据是 ...
- 【.Net】从字符串数组中寻找数字的元素
那是写一个类别来处理数字元素并收集起来. 开发程序,解决方法不是唯一的.相同的功能实现,方法不止一个. 参考下面代码: class Ak { private string[] _stringArray ...
- BZOJ 2039 人员雇佣(最小割)
最小割的建图模式一般是,先算出总收益,然后再通过网络模型进行割边减去部分权值. 然后我们需要思考什么才能带来收益,什么才能有权值冲突. s连向选的点,t连向不选的点,那么收益的减少量应该就是将s集和t ...