Before Truman, you'd have to go back to the post–Civil War era to find at least two generals in the Cabinet Room. The administrations of Ulysses S. Grant, Rutherford B. Hayes and William McKinley all had at least two retired war generals serving at the same time.
To surpass Grant, himself a war general, Trump would need to appoint two more generals. Grant's secretary of war, secretary of the Navy and vice president (Cabinet positions at the time) served as generals. That VP, Henry Wilson, it should be noted, rose to the rank of brigadier general in the Massachusetts militia and later was made a colonel in the Union Army. Hayes appointed two former Union generals to his Cabinet, as did McKinley.
Congress would need to pass a special law overriding a U.S. prohibition on military officers from becoming secretary of defense less than seven years after leaving service. That requirement has been waived only once, for George Marshall in 1950. National security adviser appointments do not require Senate confirmation, and there is no equivalent law that applies to the Department of Homeland Security.
Trump's decision to hire military officers in his Cabinet is somewhat surprising in light of the things he has said about generals during his campaign. In November of 2015 he said in a speech, "I know more about ISIS than the generals do, believe me," adding, "I would bomb the s--- out of them."
"The generals under Barack Obama and Hillary Clinton have not been successful," Trump said at televised military forum in September. "Under the leadership of Barack Obama and Hillary Clinton, the generals have been reduced to rubble, reduced to a point where it is embarrassing for our country."