I usually break it up to make it more readable:
ClearAll["Global'*"]
eqns = {D[u[x, y], x, x] + D[u[x, y], y, y] - 3 u[x, y] == x y,
u[0, y] == 0, (D[u[x, y], x] /. x -> 2) == 0, u[x, 0] == 0, u[x, 1] == 0}
Traditional form lets me check if my equations make sense!
TraditionalForm[eqns]
s = NDSolve[eqns, u, {x, 0, 2}, {y, 0, 1}]
Plot3D[u[x, y] /. s[[1]], {x, 0, 2}, {y, 0, 1}]