MyBatis的真正强大之处在于其映射语句。由于其映射语句很强大,映射器的XML文件就显得相对简单。若将其与具有相同功能的JDBC代码进行对比,会发现,使用这种方法节省了近95%的代码量。MyBatis3.0相较2.0版本一个最大的变化,就是支持使用接口来调用方法。MyBatis使用Java的动态代理可以直接通过接口来调用相应的方法,不需要提供接口的实现类,也不需要在实现类中使用SqlSession以通过命名空间间接调用。
使用接口调用有两种方式:(1)配合XML文件使用(2)配合注解使用
使用XML方式
在上一篇博文MyBatis(一)基本用法介绍(https://blog.csdn.net/duanduan_l/article/details/91397727)中已经介绍了接口配合XML文件使用的方式。
mapper接口与对应的XML文件应遵循的规则:
-
mapper.xml中namespace是mapper.java的类 全路径
-
mapper.xml中id是mapper.java的方法名
-
mapper.xml中parameterType是mapper.java的入参类型的路径
-
mapper.xml中resultType是mapper.java的返回值类型的路径
关于XML文件中resultMap的使用介绍:
resultMap标签用于配置Java对象的属性和查询结果列的对应关系,通过resultMap中配置的column和property将查询列的值映射到type对象