//数据库连接等操作很容易百度 我就不写了 public void Register_insert() throws SQLException { String ins="insert into 用户信息表(uid,umoney,uname,password,address,email,phone,root) values (?,?,?,?,?,?,?,?)"; try{ PreparedStatement pre = UserTable.con.prepareStatement(ins);//实例化 pre.setInt(1, uid); pre.setInt(2, umoney); pre.setString(3, uname); pre.setString(4, upassword); pre.setString(5, uaddress); pre.setString(6, email); pre.setString(7, phone); pre.setString(8, "0"); pre.executeUpdate(); //执行操作 pre.close(); }catch(SQLException e) { e.printStackTrace(); } } 之前我没有加pre.executeUpdate(); 更新数据库执行插入操作 导致该方法没有报错但插入不成功 另外,也有可能是你的autocommit设置为false 需要手动提交事务 con.commit(); 注意所有属性下都要设置对应的值,就算为空也要pre.setObject(i,Null); 如果不设置会报错 No value specified for parameter i //i为你没有set值的列