Vagrant- 2014-10-14 08:57 采纳率: 0%
浏览 1354

得到主键自动增长值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;
        }
}

`

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 MATLAB动图问题
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题