一、创建前端显示类
二、判断类
三、改写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;
}
@Override
public 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;
}
@Override
public 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;//返回
}
由于我们的在我们控制层那里,函数类型记得进行修改
四、效果
这个就是我们一开始编写的判断类
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)