beyard

常用链接

统计

最新评论

【总结】MySQL写入异常

Java_web 开发时候,用 hibernate + mySQL写一条记录。
(1) 报错 主键 ID has no default value。
解析如下:

有2 个地方控制 ID, 
SQL 表的 AI (自增)和 LoginAccount.hbm.xml 里面的 assigned/native
<id name="loginAccountID" column="LoginAccountID" type="int">
<generator class="assigned"></generator>
</id>

如果指定为 assigned 的话,那么不管SQL 的自增是不是勾上了,都会采用外部赋值的ID
如果指定为 native的话,那就采用SQL的策略自增,但是如果没有勾自增就会报错。

(2) 报错:
Remember that ordinal parameters are 1-based

getHibernateTemplate().find("from Vegetable where name1 = ‘?’", vegtableName1);
改成如下
getHibernateTemplate().find("from Vegetable where name1 = ?", vegtableName1);
就好了。

(3) 不能在SQL内存放 汉字
    必须在创建 database/schema的时候指定 utf-8 default collation

(4) 不能向SQL写汉字
在连接串后面加上数据库编码。
<property name="connection.url">
     jdbc:mysql://localhost:3306/db_test?useUnicode=true&amp;characterEncoding=utf-8
</property>

posted on 2013-08-02 12:46 阅读(120) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理