我正在使用带有连接池和 MySQL JDBCconnector 的 tomcat
我让我的连接进行插入并想要返回的键值。这样做是这样的:
conn = ds.getConnection();
stmt = conn.createStatement();
stmt.executeQuery("use "+dbname);
sql = sql.trim();
int res = stmt.executeUpdate(sql);
if (sql.toLowerCase().startsWith("insert") ) {
rs = stmt.getGeneratedKeys() ;
if (rs.next())
r= rs.getString(1);
}
所以这一直很好,我得到了返回的 ID。
如果存在 DATA TRUNCATION EXCEPTION 则尽管插入成功,但我无法再获得返回键的值。所以我最终得到了我不知道的数据库中的值。
我需要摆脱异常或者改变我这样做的整个方式?
我可以修复进行更新的 bean 和 dbase 数据类型 - 但我想要一种带和大括号的方式来确保如果我没有正确完成此操作,我可以在成功时取回 ID?