沉痛记下这次与 mysql 的交锋,以全面溃败结束
来源:互联网 发布:服务器上的java 知乎 编辑:程序博客网 时间:2024/04/29 12:40
最近在做一个博客系统,后台使用 ssh 框架,前台使用 bootstrap ,因为不是太熟悉,所以遇到不少问题,但看到成果一步步做出来,喜悦之情溢于言表!
然而今天,遇到了一个让我崩溃的问题,战斗了好久,最后才被解决,感觉代码之路一片黑暗。
我定义了一个实体类,里面有一些属性,然后就用 eclipse 里 配置的 hibernate 工具去自动生成数据表,这个普通的过程我以前重复过 n 次了,每次都是平稳完成,因为这根本就算不上能出故障的地方,然后这一次,问题百出。因为我定义了两个实体间多对多的关联关系,在我完成生成数据表步骤后我就去 mysql 中查看我的表是否生成成功,让我惊讶的是,仅仅生成了一张中间表(关联表),实体表却没有生成!程序也没有报错,一切都很正常。我有点无语,认真对照了属性名是否和配置文件一致,认真查看数据类型是否有错,又删掉数据表重新生成......然后重复 n 次后,一切还是原样。我只好放弃使用 hibernate 工具,自己去数据库手动建表,按说这应该没什么问题了。然后在程序中执行保存操作的时候,又出问题了,报 sql 语法错误的异常,我再一次郁闷了,看着控制台中的insert语句,看不出半点不对的地方,我不死心,又重复了这个过程 n 次,然而结果并没有什么不同,呵呵!最后实在没办法了,把控制台中看似正常的insert语句拿到mysql 的工具 sqlyog 中去执行,也是报sql语法错的异常,但这次,我看到了一点不同的东西,我的字段居然跟 sql 语句中关键字一样,被着了色!!!我立马去网上查了一下 mysql 数据库的关键字,果不其然,看到了我的属性名静静的躺在保留字的列表中,瞬间泪崩,我 取了个跟 mysql 数据库保留字同名的变量名!!!
这是mysql数据库的保留字:
经验:1.给实体类取变量名的时候,一定要注意不能和数据库保留字相冲突
2.用其他工具操作数据库有错误时,一定要将出故障的sql语句拿到数据库管理工具中去执行,一眼就能看出sql语句的异常
我想,这个错我再也不会遇到了!!!
- 沉痛记下这次与 mysql 的交锋,以全面溃败结束
- 智慧与理论的交锋
- 秦军与马其顿军团的交锋
- 与 '\r' 字符的两次交锋
- 行政溃败与社会动荡
- 一直搞不懂这三个的区别,这次把它们记下来!
- 总是忘记null的判断,每次都百度,这次自己记下了
- 希望这次是真的结束了,及RGB
- Unicode 转义字符的溃败
- 金钱买不到什么:金钱与公正的正面交锋
- 唱吧 的直播K歌新歌要与YY正面交锋了
- 沉痛的一天
- 沉痛的教训
- 以EOF结束、以0 0结束、以0结束的例题总结
- 关于360与QQ的这次争端
- zlib 用了很多次,这次记下来
- Vim中文乱码问题之这次一定要记下来
- 用进度条监视“以Timer控制开始与结束”的任务
- alpha测试和beta测试
- Activity的生命周期的运行情况
- 九度1106
- 1040: [ZJOI2008]骑士
- zigbee协议栈学习(四)
- 沉痛记下这次与 mysql 的交锋,以全面溃败结束
- hive select查询语句
- js常用内置方法和对象
- Unity Shader UV动画(序列帧动画)
- iOS绘制渐变背景滑动条
- window对象
- Android-教你自作一个简单而又实用的流式Tag标签布局
- 台积电砸1000亿元建12英寸晶圆厂:2018年量产--OFweek
- 系统与幻觉---一般系统论读书笔记