MyBatis3.0新特点
MyBatis3.0相比2.0版本的一个最大变化,就是支持使用接口来调用方法。
以前使用SqlSession通过命名空间调用MyBatis方法时,首先需要用到命名空间和方法id组成的字符串来调用相应的方法。当参数多于1个的时候,需要将所有参数放到一个Map对象中。通过Map传递多个参数,使用起来很不方便,而且还无法避免很多重复的代码。
使用接口调用方式就会方便很多,MyBatis使用Java的动态代理可以直接通过接口来调用相应的方法,不需要提供接口的实现类,更不需要在实现类中使用SqlSession以通过命名空间间接调用。
另外,当有多个参数的时候,通过参数注解@Param设置参数的名字省去了手动构造Map参数的过程,尤其在Spring中使用的时候,可以配置为自动扫描所有的接口类,直接将接口注入需要用到的地方。
nice