文章目录
一、创建前端显示类二、判断类三、改写Service层四、效果上一节,我们说到,我们已经可以将我们数据库里面的内容,通过我们的mybatis去映射到我们的前端
这个时候,细心的同学就会发现了,我们把所有信息都显示给我我们的前端用户了,这样子肯定是不行的!但是我又不可以去修改我们的类,这样子,又会导致我们接收到Mysql的语句有所缺失,于是就有了我们的端口集成。
基本思路:就是重新创建一个我们想给别人看到的类,然后去把我们的值给他复制进去
一、创建前端显示类
这里话,我们之前数据库的承接类是一样的,只不过这一次,我们只去写我们想要别人看到的类容。为了更好的区分前后端获取的内容,我们在domain下面创建出我们前端显示类
可以看到我们相较与之前少了我们的password(密码)
package com.example.test.domain.dto;public class Test1dto {private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {StringBuilder sb = new StringBuilder();sb.append(getClass().getSimpleName());sb.append(" [");sb.append("Hash = ").append(hashCode());sb.append(", id=").append(id);sb.append(", name=").append(name);sb.append("]");return sb.toString();}}
二、判断类
因为我们重新去把我们的值给了我们的前端显示类,这个时候我们会担心有的时候他会发生错误,所以,我们还要一个判断类,来保证我们可以正常地返回
一般地构造都是
然后就是来规矩,tostring ,get方法,set方法,这里还有一个要注意地地方,因为我们到时候可能会根据不同地人来显示不同地信息,所以我们要在这个函数前加一个范型
package com.example.test.resp;public class CommonResp<T> {private boolean success=true;private String message;private String codo;private T content;public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public String getCodo() {return codo;}public void setCodo(String codo) {this.codo = codo;}public T getContent() {return content;}public void setContent(T content) {this.content = content;}@Overridepublic String toString() {return "CommonResp{" +"success=" + success +", message='" + message + '\'' +", codo='" + codo + '\'' +", content=" + content +'}';}}
三、改写Service层
这里我们以list()为例,因为我们要将我们写好的list封装进我们刚刚的判断类,所以先将我们的的放回类型改写成CommonResp然后在里面进行我们的后端获取的数据向前端转化,我们看看具体代码
public CommonResp list()//改写获取判断类{CommonResp commonResp=new CommonResp();List<Test1> test1s= test1Mapper.selectByExample(new Test1Example());//获取到我们后台数据ArrayList<Test1dto> test1dtos=new ArrayList<>();//我们前台显示类链表for(int i=0,l=test1s.size();i<l;i++){Test1 test1=test1s.get(i);Test1dto test1dto=new Test1dto();//单个前台显示类BeanUtils.copyProperties(test1,test1dto);//复制给我们的类test1dtos.add(test1dto);//加进去}commonResp.setContent(test1dtos);//返还给我们的判断类return commonResp;//返回}
由于我们的在我们控制层那里,函数类型记得进行修改
四、效果
这个就是我们一开始编写的判断类