JdbcTemplate插入后获取自增ID

public int save(Model model) {
    logger.info("Start create a model:" + model.getName());
    Map<String, Object> parmMap = new HashMap<String, Object>();
    parmMap.put("name", model.getName());
    parmMap.put("group", model.getGroup());
    parmMap.put("type", model.getType());
    parmMap.put("category", model.getCategory());
    parmMap.put("description", model.getDescription());
    KeyHolder keyHolder = new GeneratedKeyHolder();
    SqlParameterSource source = new MapSqlParameterSource(parmMap);
    int rc = getJdbcTemplate().update(SQL_CREATE_MODEL, source ,keyHolder);
    System.out.println(keyHolder.getKey().intValue());
    if (rc > 0) {
        return keyHolder.getKey().intValue();
    } else {
        return 0;
    }
}
 
public int insertTable(LabelForm f) throws SQLException,ParseException
{
    String content = f.getSiteId();
    final String sql = "insert into TAG_INFO(SITE_ID,NAME,CONTENT) values(?,?,'"+content+"')";
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcTemplate().update(
            new PreparedStatementCreator() {
                public PreparedStatement createPreparedStatement(Connection con) throws SQLException
                {
                    PreparedStatement ps = getJdbcTemplate().getDataSource()
                            .getConnection().prepareStatement(sql,new String[]{ "SITE_ID" ,"NAME"});
                    ps.setString(1, "站点号");
                    ps.setString(2, "我的名字");
                    return ps;
                }
            }, keyHolder);
    System.out.println("自动插入id============================" + keyHolder.getKey().intValue());
    return keyHolder.getKey().intValue();
}
 

猜你喜欢

转载自awen7916.iteye.com/blog/2229298