生成它有两种方式:
-
使用XML映射文件,文件中的<select> 、<update>、<insert>、<delete>这些节点最终都会转换成MappedStatement。
2. 使用配置注解@Select、@Insert、@Update、@Delete或@SelectProvider、@InsertProvider、@UpdateProvider、@DeleteProvider
扩展:
使用Mybatis-plus框架的时候,我们不需要在xml文件里写sql照样也能正常运行。它其实是在第二种生成方式的基础上使用了Sql注入器这么个东西生成了一些通用的MappedStatement,然后再把它塞入到mybatis中,具体可以阅读MybatisMapperAnnotationBuilder类的源码,它重写了MapperAnnotationBuilder的parse()方法,我们可以重点阅读这段代码:if (GlobalConfigUtils.isSupperMapperChildren(configuration, type)) {
GlobalConfigUtils.getSqlInjector(configuration).inspectInject(assistant, type);
}