昨天一个网友给我留言问我一个异常处理问题,我认为这种常见的异常应该和大家分享下,希望大家也能都知道:
?
java.sql.SQLException: Duplicate entry '鍔炰簨' for key 2
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)
com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1125)
com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:677)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1357)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1274)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1259)
?
这种异常一看就晓得是SQL异常,再分析就明白是你向数据库插入两次同一数据,而数据库要求不能插入重复数据。
还有像下面这种异常也同样是向mysql数据库插入了两次同样的数据,解决办法是你修改一下truename, sex,phone 就好了。还有一个方法,你把你htm.xml文件中的字段属性改为unique="false"
Hibernate: insert into t_user (truename, sex, phone, room_id) values (?, ?, ?, ?)
12:49:57,703 [main] WARN? JDBCExceptionReporter : SQL Error: 1062, SQLState: 23000
12:49:57,703 [main] ERROR JDBCExceptionReporter : Duplicate entry '灏忛粦' for key 2
?
如果你还有问题,更多交流、更多了解QQ:444084929 (回钦波 个人主页:http://www.yezhong.net)
?