jdbcTemplate獲得資料庫生成的主鍵值
阿新 • • 發佈:2019-02-08
JSONObject obj = new JSONObject(); obj.put("code", transactionTemplate.execute(new TransactionCallback<Integer>() { @Override public Integer doInTransaction(TransactionStatus status) { Object spt = status.createSavepoint(); try { final String sql = "insert into article (title, content, source, keyword, intro," + " type, author, recommend, headline,leaveNumber,clickNumber,userid," + "createtime,updatetime,deploytime) values" + " (?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?) "; KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection conn) throws SQLException { PreparedStatement pstat = conn.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS); pstat.setString(1, title); pstat.setString(2, content); pstat.setString(3, source); pstat.setString(4, keyword); pstat.setString(5, intro); pstat.setString(6, type); pstat.setString(7, author); pstat.setString(8, recommend); pstat.setString(9, headline); pstat.setString(10, leaveNumber); pstat.setString(11, clickNumber); pstat.setString(12, userid); pstat.setDate(13, new java.sql.Date(new java.util.Date().getTime())); pstat.setDate(14, new java.sql.Date(new java.util.Date().getTime())); pstat.setDate(15, new java.sql.Date(new java.util.Date().getTime())); return pstat; } }, keyHolder); System.out.println("PK: " + keyHolder.getKey().intValue()); /*String sqls = "insert into channel_article (articleid, channelid) values (?, ?)"; jdbcTemplate.update(sqls, articleid, channelid);*/ status.releaseSavepoint(spt); return 0; } catch (Exception e) { status.rollbackToSavepoint(spt); return -1; } } })); response.getWriter().write(obj.toString());