GenericJDBCException:couldnot insert: [com.hibernate.Customer]异常
解决方法:
1.如果你的hibernate.cfg.xml的URL后面写了characterEncoding=utf8,把这个去掉
<!--连接数据库的url -->
<property name="hibernate.connection.url">
jdbc:mysql:///mycustomer?characterEncoding=utf8
</property>
改为
<property name="hibernate.connection.url">
jdbc:mysql:///mycustomer
</property>
这样就不会报错了,但是乱码。所以就会有第二种方法
2.这个是防止乱码的,不用改。
<!--连接数据库的url -->
<property name="hibernate.connection.url">
jdbc:mysql:///mycustomer?characterEncoding=utf8
</property>
修改一下MySQL数据库的编码格式,
右键你的数据库-Alert Database-把Databasecharset设置为utf-8
3.第二种是生成数据库以后的,还有就是用sql语句创建库或表时,在库的后面写编码格式:
CREATE DATABASEmycustomer
DEFAULTCHARSET utf8
COLLATEutf8_general_ci;
USE mycustomer
CREATE TABLE customer
(
id INT NOT NULL,
NAME VARCHAR(20)NOT NULL,
age INT NOT NULL,
sex CHAR(2) NOTNULL,
city VARCHAR(20)NOT NULL,
PRIMARY KEY (id)
)
有多种写编码的格式,这只是其中一种。希望可以帮助到你们