当前位置: 首页 > 工具软件 > JdbcQuery > 使用案例 >

JDBC中添加数据成功后,如何返回主键id

金令秋
2023-12-01

JDBC中添加数据成功后,如何返回主键id

// 添加成功后,获取主键值
	@Test
	public void test02() throws Exception {
		// 加载驱动器类
		Class.forName("com.mysql.jdbc.Driver");
		
		// 创建连接对象
		// "jdbc:mysql:///test"
		String url = "jdbc:mysql://localhost:3306/test";
		String user = "root";
		String password = "123456";
		Connection conn = DriverManager.getConnection(url, user, password);
		
		// 创建执行SQL的对象
		String sql = "insert into tb_user(name, age, birthday) values(?,?,?)";
		/** 
		 * 如果在添加成功后,需要获取当前记录的主键值,需要调用:
		 * PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
        throws SQLException;
        	方法:
         	方法的参数说明:
         	1、需要执行的SQL语句
         	2、是一个是否返回主键的标识。值有以下两个:
         		1)Statement.RETURN_GENERATED_KEYS
         		2)Statement.NO_GENERATED_KEYS
		 */
		PreparedStatement pst = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
		
		// 执行SQL
		pst.setString(1, "qqqq");
		pst.setInt(2, 15);
		pst.setDate(3, new java.sql.Date(new Date().getTime()));
		int count = pst.executeUpdate();
		
		// 获取主键值
		ResultSet rs = pst.getGeneratedKeys();
		if (rs.next()) {
			System.out.println("主键值为:" + rs.getObject(1));
		}
		
		System.out.println(count > 0 ? "添加成功!" : "添加失败");
		
		rs.close();
		pst.close();
		conn.close();
	}
 类似资料: