Java中獲取剛插入數據庫中的數據Id(主鍵,自動增長)


public int insert(String cName, String ebrand, String cGender) {
		String sql = "insert into Cloth (cname,ebrand,cgender) values(?,?,?) ";
		Connection conn = DruidUtil.getConn();
		PreparedStatement prep = null;
		ResultSet rs = null ;
		try {
			prep = conn.prepareStatement(sql,
                    PreparedStatement.RETURN_GENERATED_KEYS);
			prep.setString(1, cName);
			prep.setString(2, ebrand);
			prep.setString(3, cGender);
            prep.executeUpdate();
            rs = prep.getGeneratedKeys();
            if (rs.next()) {
            //獲取插入數據的Id(主鍵,自增長)
            int cId = rs.getInt(1) ;
            // 返回這個Id
                return cId ;
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally {
        	 DruidUtil.close(conn, prep, rs);
        }
		return -1;
     
    }

  本例中使用的數據庫是mysql,在使用jdbc時使用getGeneratedKeys()來獲取返回值rs 

    其中在數據庫中id為主鍵,自增長的int類型

        rs.getInt(1)獲取自增長的id的具體數值  

    將id作為返回值。

prep = conn.prepareStatement(sql,
                    PreparedStatement.RETURN_GENERATED_KEYS);
			prep.setString(1, cName);
			prep.setString(2, ebrand);
			prep.setString(3, cGender);
            prep.executeUpdate();
            rs = prep.getGeneratedKeys();
            if (rs.next()) {
            //獲取插入數據的Id(主鍵,自增長)
            int cId = rs.getInt(1) ;
            // 返回這個Id
                return cId ;
            }

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM