A man stabbed three children and a teacher to death and wounded several others in a rampage at a Chinese primary school that refused to enrol his daughter, state media said.

The attacker killed himself by jumping from the building following Monday’s carnage at a school in Shiyan in the central province of Hubei, according to the official Xinhua news agency.

Five other students have been hospitalised, one of them seriously injured, Xinhua said.

A female teacher, surnamed Liu, was stabbed in the chest and stomach and died of her injuries hours later, Xinhua said.

The attacker, named as 43-year-old Chen Yanfu, "jumped to death from the fifth floor after he was tackled by a teacher", according to Xinhua.

"The school's headmaster said Chen did not say a word after entering classrooms, just pulled out a knife and started stabbing anyone within reach," the news agency reported.

Chen was "allegedly upset that his daughter was not allowed to register at the school", Xinhua added.

Monday was the first day of the new school year in many parts of China.

Xinhua said Chen had apparently been able to enter the school unquestioned, with no security checks on visitors in place that day.

"Security at many schools has been tightened after a spate of attacks on children in recent years," the agency added.

They include five incidents in 2010 that killed 17 people -- 15 of them children -- and wounded more than 80.

Last March a man killed two relatives and then slashed 11 people, including six children, outside a school in China's commercial hub Shanghai.

Earlier this summer police in Qianjiang city killed a suspect who was attempting to take over a primary school, state media said.