加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java中获取刚插入数据库中的数据Id(主键,自动增长)

发布时间:2020-12-15 08:22:34 所属栏目:Java 来源:网络整理
导读: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.
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,cGender);
            prep.executeUpdate();
            rs = prep.getGeneratedKeys();
            if (rs.next()) {
            //获取插入数据的Id(主键,自增长)
            int cId = rs.getInt(1) ;
            // 返回这个Id
                return cId ;
            }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读