2 yue254647202 yue254647202 于 2014.10.14 16:57 提问

得到主键自动增长值KeyHolder

为什么我的代码执行后KeyHolder的值还是为空呢?
`public class UserDaoImpl implements IUserDao {
private NamedParameterJdbcTemplate simpleJdbcTemplate = new NamedParameterJdbcTemplate (JDBCUtils4.getDataSource());
@Override
public boolean addUser(RegistForm registForm) throws Exception {
//使用命名参数来给"?"占位符命名
String sql = "insert into user(username,birthday,major,score) values(:username,:birthday,:major,:score)";
//给各个占位符赋值
SqlParameterSource param = new BeanPropertySqlParameterSource(registForm);
//执行更新操作
KeyHolder keyHoder = new GeneratedKeyHolder();
int count = this.simpleJdbcTemplate.update(sql, param, keyHoder);

            System.out.println("-------------------------------"+keyHoder+"----------------------");
            int id = keyHoder.getKey().intValue();

            registForm.setId(id);
            if(count>0)
                return true;
            else 
                return false;
        }
}

`

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!