jdbcTemplate插入MYSQL时怎么返回主键ID

@Override
publicIntegeradd(Boardboard){
Stringsql="INSERTINTOtz_board(title,description)VALUES(?,?)";
jdbcTemplate.update(sql,board.getTitle(),board.getDescription());
IntegerboardId=jdbcTemplate.
returnboardId;
}
不知道我这样写对不对
IntegerboardId=jdbcTemplate.
森林海
浏览 781回答 2
2回答

守候你守候我

KeyHolderkeyHolder=newGeneratedKeyHolder();jdbcTemplate.update(newPreparedStatementCreator(){@OverridepublicPreparedStatementcreatePreparedStatement(Connectionconn)throwsSQLException{PreparedStatementps=conn.prepareStatement(SQL_ADD,newString[]{});ps=conn.prepareStatement(YOUR_SQL_SCRIPT,Statement.RETURN_GENERATED_KEYS);ps.setString(1,"TEST");ps.setInt(2,1);//...returnps;}},keyHolder);returnkeyHolder.getKey().intValue();

慕村225694

Spring提供了一个接口org.springframework.jdbc.support.KeyHolder其中有方法getKey()方法描述Retrievethefirstmapofkeys.Iftherearemultipleentriesinthelist(meaningthatmultiplerowshadkeysreturned),thenanInvalidDataAccessApiUsageExceptionisthrown.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript