Local authorities said on Wednesday that the man "sneaked into" the school in the southern autonomous region of Guangxi Zhuang mid-afternoon and stabbed the children before being detained at the scene by police.
Broadcaster CCTV said on social media that the assailant allegedly climbed a wall to enter the facility.
According to official Xinhua news agency, three children were seriously injured and rushed to the hospital for treatment.
Police have identified the attacker as Qin Peng'an, a man from Nanshan village that is under the jurisdiction of Pingxiang city. An initial police investigation found that Qin felt bullied in the village so he stabbed the children out of anger and revenge.
In recent years, China has had several incidents of assailants entering schools and stabbing children. Most of these violent attacks are carried out by people with vendettas against society.
In February last year, a knife-wielding assailant wounded at least 10 children in the southern island province of Hainan, before committing suicide.
In 2014, a man stabbed three children and a teacher to death at a primary school. The teacher had refused to enroll his daughter.
A man killed two relatives and then slashed 11 people outside a school in China's commercial hub, Shanghai, in March 2013.
The events have forced Chinese authorities to increase security around schools and kindergartens.