Mysql 如何 得到新插入的字段ID

Mysql 如何 得到新插入的字段ID

N年前的代码应该还能用

/**
	 * @param dataSource
	 * @param sql
	 * @param params
	 * @return
	 * @throws SQLException
	 */
	public static int insertAndGetId(DataSource dataSource, String sql, Object[] params)
			throws SQLException {
		Connection con = dataSource.getConnection();
		PreparedStatement pstmt = con.prepareStatement(sql);
		try {
			for (int i = 1; i <= params.length; i++) {
				pstmt.setObject(i, params[i - 1]);
			}
			pstmt.executeUpdate();
			ResultSet rs = pstmt.executeQuery("SELECT LAST_INSERT_ID()");
			rs.next();
			int newId = rs.getInt(1);
			rs.close();
			return newId;
		} finally {
			try {
				pstmt.close();
			} finally {
				con.close();
			}
		}
	}

相关推荐