您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
17-Spring练习-用户添加操作-添加数据到数据库2(获取主键id)
发布时间:2025-01-09 17:47:02编辑:雪饮阅读()
-
那么接下来完成下上篇中没有完成的UserDaoImpl的save方法中获取主键id功能。
public Long save(final User user) {
PreparedStatementCreator creator=new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement preparedStatement = connection.prepareStatement("insert into sys_user values(?,?,?,?,?)", PreparedStatement.RETURN_GENERATED_KEYS);
preparedStatement.setObject(1,null);
preparedStatement.setString(2, user.getUsername());
preparedStatement.setString(3,user.getEmail());
preparedStatement.setString(4,user.getPassword());
preparedStatement.setString(5,user.getPhoneNum());
return preparedStatement;
}
};
GeneratedKeyHolder keyHolder=new GeneratedKeyHolder();
jdbcTemplate.update(creator,keyHolder);
Long id=keyHolder.getKey().longValue();
return id;
}
这里修改成了save直接返回主键id了。
那么其实现的接口中save抽象方法的返回值类型也需要修改了
Long save(User user);
然后UserServiceImpl实现类的save方法就需要重新修改一下了
public void save(User user, Long[] roleIds) {
Long userId=userDao.save(user);
userDao.saveUserRoleRel(userId,roleIds);
}
关键字词:Spring,用户添加,获取主键id