mybatis插入语句一般都是这样写 <!-- useGeneratedKeys="true"把新增加的主键赋值到自己定义的keyProperty(id)中 --> <insert id="insert" parameterType="xxx.xxx.xxx.xxx" keyProperty="id" useGeneratedKeys="true">, useGeneratedKeys 取值范围true|false 默认值是:false。 含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。 之前一直以为useGeneratedKeys="true"是让mysql数据库主键新增,其实是,插入语句后将id赋值给实体bean,即使用insert后,使用bean.getId()可以获得值,若是false,bean.getId()=null。不管true还是false,数据库插入的数据,都会自动生成主键(前提是设置自动增长主键)。