获取新添加到数据库的数据的自增长id

2022/1/28 2:06:17

本文主要是介绍获取新添加到数据库的数据的自增长id,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

/**
     * 添加用户信息到sys_user表
     * @param user
     * @return
     */
    @Override
    public Long save(User user) {
        //创建PreparedStatementCreator
        PreparedStatementCreator preparedStatementCreator = new PreparedStatementCreator() {
            @Override
            public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
                //使用原始jdbc完成PreparedStatement的组建
                PreparedStatement preparedStatement = con.prepareStatement(
                        "insert into sys_user values (?,?,?,?,?)",
                        PreparedStatement.RETURN_GENERATED_KEYS //返回数据库自动生成的userId,封装在keyHolder中
                );
                preparedStatement.setObject(1,user.getId());
                preparedStatement.setString(2,user.getUsername());
                preparedStatement.setString(3,user.getEmail());
                preparedStatement.setString(4,user.getPassword());
                preparedStatement.setString(5,user.getPhoneNum());
                return preparedStatement;
            }
        };
        //创建keyHolder
        GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();

        jdbcTemplate.update(preparedStatementCreator,keyHolder);
        //获取自动生成的userId
        long userId = keyHolder.getKey().longValue();
        /*jdbcTemplate.update("insert into sys_user values (?,?,?,?,?)",
                user.getId(),//用户id自动生成,这里的值为null
                user.getUsername(),
                user.getEmail(),
                user.getPassword(),
                user.getPhoneNum());*/
        //返回当前保存用户的id,id是数据库自动生成的
        return userId;
    }

 



这篇关于获取新添加到数据库的数据的自增长id的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程