我找到问题所在了,就是自己的File->Project Structure->Artifacts的后面导入的包未导入lib文件下,所以手动导入自己报错为空的包即可!
在一开始数据库建success_killed表的时候就设置了state这个的默认值为-1,所以如果你sql的insert语句的参数不给的话就直接设置成-1了
一般是因为你 jar没导进去
看看 项目里的 external libraries 里面有没有 commons-collections ,如果没有,说明导入 不成功。
如果有 我就不知道为什么了。
只要把存储过程中的插入语句改一下就好了
1、一般来说创建存储过程的时候前面会加这么一段代码:
DROP PROCEDURE IF EXISTS execute_seckill;
这段代码的意思是 :如果已经存在这个存储过程名字的话,丢弃掉这个存储过程。
2、一般Mysql用户赋权后要重新登录一下
map中没有属性名为result,类型为int,的值就返回-2
最直接一点也就是老师说的可以给他赋默认值为-2,因为我们在上面往map中存入该字段的时候他的值是null,而null赋值给int型的result会报错,可能是为了避免这种错误吧。
public static SeckillStatEnum stateOf(int index){
for (SeckillStatEnum state : values()){
if (state.getState() == index){
return state;
}
}
return null;
}
检查这个方法有没有错
我也是。。。 请问你解决了吗。。
同样的问题,有大佬解决了么,差了好久了
阿斯多夫
你可以自己实现后自己再测一下,自己动手丰衣足食嘛
你的理解是对的,没有使用Spring的事务
我也遇到了,只是还没有自己修改。确实有这个问题。
建议看看这个:http://blog.csdn.net/jamesjxin/article/details/46606307 然后估计是在Tomcat服务器中缺少了protostuff的jar包导致的。把项目重新部署一遍到Tomcat再启动。
这种实际上比抛出错误的方式更优雅
存储过程的创建在MySql服务端 就跟你穿件数据库表是一个意思
一个小时之后 redis里面的数据才会消失