总体的调用逻辑如下:
Controller -> Interface -> InterfaceImpl -> Mapper -> Mapper.xml -> Mapper -> InterfaceImpl -> Interface -> Controller
具体说明:
Controller:
@controller
:路由层。Spring 会扫描使用 @controller
注解的类,添加到路由文件中。@ResponseBody
: 可以添加到类或方法上,表示返回的是数据,默认返回的是页面。@RestController
:= @controller + @ResponseBody
Swagger
:接口文档生成插件。@RequestMapping("")
:当前类中所有接口的公共路径
部分。@Autowired
:用来给指定的字段或方法注入所需的外部资源。@GetMapping("")、@PostMapping("")、
:用来修饰接口方法,表示当前方法支持的请求类型,及请求接口路径。
Interface:
接口类:将一组功能类似,或通过逻辑划分,将一组接口放到一个接口文件中,在Java 中,此类型的文件只是声明一组接口。
InterfaceImpl:
接口实现类:与接口类一一对应,用来具体实现接口类中,定义的接口名。
Mapper:
定义与数据库交互的一组聚合接口类:用来声明与数据库交互所需的外部字段,及查询结果类型。
Mapper.xml:
与 Mapper
类名一一对应,用来实现与数据库交互的具体 SQL
语句。
通过 namespace
来和具体 Mapper
接口绑定。
<mapper namespace="com.mapper.CyMapper">
每对 <select></select>
来实现一个和 Mapper 接口类中一一对应的接口。其中:id
表示实现的接口名称,resultType
表示返回的数据实体
。数据实体的属性名称
和数据表中的列段名称对应
。
<select id="funcName" resultType="com.entity.Entity">
"SQL..."
</select>
数据查询结束后,根据方法调用链依次将数据返回给外层,直到接口调用者。
Comments