jdbc插入返回主键

第一步创建sql


第二步通过connection.prepareStatement(sql,主键) 来创建预编译对象


第三步 为sql中的占位符赋值


第四步,执行sql


第五步获取执行sql的结果


第六步通过ResultSet对象获取返回的主键



public boolean AdvertAdd(Advert ad) throws SQLException {
        String sql = "insert into advert (ad_ico,ad_desc,ad_isdisable,ad_url,areaid,ad_type,_type,_title,orderasc) values (?,?,?,?,?,?,?,?,?)";
        getConnection();
        // 指定返回生成的主键  
        pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

        pstmt.setString(1, ad.getAd_ico());
        pstmt.setString(2,ad.getAd_desc());
        pstmt.setInt(3, ad.getAd_isdisable());
        pstmt.setString(4,ad.getAd_url());
        pstmt.setInt(5,ad.getAreaid());
        pstmt.setInt(6,ad.getAd_type());
        pstmt.setInt(7,ad.getType());
        pstmt.setString(8,ad.getTitle());
        pstmt.setInt(9,ad.getOrderasc());

        pstmt.executeUpdate();  

        rs = pstmt.getGeneratedKeys();

        int id=0;
        if (rs.next()) {  
            id = rs.getInt(1);   
            System.out.println("数据主键:" + id);   
        }
        ad.setId(id);
        return true;
    }

你可能感兴趣的:(jdbc插入返回主键)