1、新增一个功能,先在Navicat里面写好SQL语句,保证SQL语句查询准确无误
SELECT DISTINCT ***** FROM 表名字 |
2、在.xml文件里面插入对应写好的sql语句,完成SQL语句查询。
<select id="selectDistricList" resultType="hashMap"> SELECT DISTINCT ***** FROM 表名字 </select> |
3、Service 层
用途:业务service层,给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。
/** * 查询商圈列表 * @return */ public List<Map<String,Object>> selectDistricList(); |
serviceImpl中实现:
/** * 查询商圈列表 * @return */ @Override public List<Map<String, Object>> selectDistricList() { return homeUploadMapper.selectDistricList(); } |
4、mapper层
用途: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射。
/** * 查询商圈列表 * @return */ public List<Map<String,Object>> selectDistricList(); |
5、domain层
用途: 实体层,用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。
public class Housing extends BaseEntity { private static final long serialVersionUID = 1L; /** id */ private Long id; /** 小区名称 */ @Excel(name = "小区名称") private String name; /** 产权性质 */ @Excel(name = "产权性质") private String property; public void setId(Long id) { this.id = id; } public Long getId() { return id; } public void setName(String name) { this.name = name; } public String getName() { return name; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) .append("name", getName()) .append("property", getProperty()) .toString(); } } |
6、controller层
用途: 控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。因为service中的方法是我们使用到的,controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。
/** * 查询商圈列表 * @return */ @GetMapping(value = "/selectDistricList") public AjaxResult selectDistricList() { return AjaxResult.success(homeUploadService.selectDistricList()); |
7、最后用postman测试接口是否成功
(1)先在login页面获取登陆token:
(2)接着查询指定功能