Hibernate com.mysql.jdbc.exceptions.MySQLSyntaxErrorException MYSQL

大作业,使用SpringMVC + Hibernate搭一个小网站,但是中途出现了这个问题,困扰了我一天时间。

是的这个问题很烦人,所以如果你已经尝试过:

  • 查找StackOverflow
  • 多次更换数据库方言
  • 更换数据库驱动
  • 你甚至丧心病狂地更换数据库

仍然没有结果的话,那么你的问题应该就是

你丫是不是把数据库保留字当列名了,真以为SQL不是编程语言啊

血泪的教训,以上

Hibernate 插入中文乱码问题

最近在做JSP大作业,因为懒得写jdbc + 封装字段了,再加上也想学习一下SSH,就使用Hibernate来做持久化。但是中间遇到了中文乱码问题:

向数据库插入中文之后,在sqlbuddy看到的结果是乱码,已经确定乱码问题一定出在Hibernate向数据库插入的过程中。然而明明已经在前端、Servlet、数据库分别设置了字符编码是UTF-8,仍然出现乱码问题。找了很多解决方案终于了解到:Hibernate自己的字符编码默认不是UTF-8,所以要在hibernate.cfg.xml中的connection.url设置如下内容:

1
<property name="connection.url">jdbc:mysql://localhost:3306/your_database_name?useUnicode=true&amp;characterEncoding=UTF-8</property>

设置完成之后,可以正常进行中文操作。