使用Dto将数据封装成普通的JavaBeans
2018-07-16 02:39:26来源:博客园 阅读 ()
使用dto的好处:
1.依据现有的类代码,即可方便的构造出DTO对象,而无需重新进行分析。
2.减少请求次数,大大提高效率。
3.按需组织DTO对象,页面需要的字段我才组织,不需要的我不组织,可以避免传输整个表的字段,一定程度上提高了安全性。
一般的使用dto都是去继承实体类,在DTO类里放一些业务字段,并提供get、set方法。当我们在业务逻辑层或者交互层用到一些数据库中不存在的字段时,我们就需要在DTO类里放这些字段,这些字段的意义就相当于一些经处理过的数据库字段,实质意义就是方便数据交互,提高效率。
这里我使用dto是为了处理一些业务代码:
1、dto
1 public class CwqfDataDto {
2
3 //总人数
4 private Integer count;
5
6 //欠费总额度
7 private BigDecimal sum;
8
9 //Obj
10 private Object obj;
11
12
13
14 public CwqfDataDto(Integer count, BigDecimal sum, Object obj) {
15 super();
16 this.count = count;
17 this.sum = sum;
18 this.obj = obj;
19 }
20
21 public Integer getCount() {
22 return count;
23 }
24
25 public void setCount(Integer count) {
26 this.count = count;
27 }
28
29 public BigDecimal getSum() {
30 return sum;
31 }
32
33 public void setSum(BigDecimal sum) {
34 this.sum = sum;
35 }
36
37 public Object getObj() {
38 return obj;
39 }
40
41 public void setObj(Object obj) {
42 this.obj = obj;
43 }
44
45
46 public static CwqfDataDto CountSumOverallarrears(List<Map<String,Object>> obj) {
47 Integer count=0;
48 BigDecimal sum=new BigDecimal(0.00);
49 for (Map<String, Object> map : obj) {
50 Object object = map.get("ZS");
51 count=count+new Integer(object.toString());
52 Object object2 = map.get("QFH");
53 System.out.println("CountSumOverallarrears:object2:"+object2);
54 sum=sum.add(new BigDecimal(object2.toString()));
55 }
56 sum= sum.setScale(2, BigDecimal.ROUND_HALF_UP);
57 return new CwqfDataDto(count,sum,obj);
58 }
59
60
61 public static CwqfDataDto Arrearsofstudents(List<Map<String,Object>> obj) {
62 Integer count=obj.size();
63 BigDecimal sum=new BigDecimal(0.00);
64 for (Map<String, Object> map : obj) {
65 Object object2 = map.get("QF");
66 System.out.println("Arrearsofstudents:object2:"+object2);
67 sum=sum.add(new BigDecimal(object2.toString()));
68 }
69 sum= sum.setScale(2, BigDecimal.ROUND_HALF_UP);
70 return new CwqfDataDto(count,sum,obj);
71 }
72
73
74 @Override
75 public String toString() {
76 return "CwqfDataDto [count=" + count + ", sum=" + sum + ", obj=" + obj + ", getCount()=" + getCount()
77 + ", getSum()=" + getSum() + ", getObj()=" + getObj() + ", getClass()=" + getClass() + ", hashCode()="
78 + hashCode() + ", toString()=" + super.toString() + "]";
79 }
2、调用层
1 List<Map<String,Object>> overallarrears = cwQfQkService.SchoolDistrictArrears(); 2 if(overallarrears==null) { 3 return AjaxResult.fail("数据请求异常,没有找到相应的结果集"); 4 } 5 return AjaxResult.success(CwqfDataDto.CountSumOverallarrears(overallarrears)); 6 7 8 9 10 11 12 List<Map<String,Object>> overallarrears = cwQfQkService.Arrearsofstudents(bj, nj); 13 if(overallarrears==null) { 14 return AjaxResult.fail("数据请求异常,没有找到相应的结果集"); 15 } 16 return AjaxResult.success(CwqfDataDto.Arrearsofstudents(overallarrears));
这样就省去了多次请求的弊端。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:关于事务的学习
下一篇:23. 合并K个排序链表
- Flink 如何分流数据 2020-06-11
- 数据源管理 | Kafka集群环境搭建,消息存储机制详解 2020-06-11
- 大公司都在做的大数据平台,为你精选这一份书单 2020-06-09
- 聊聊 OAuth 2.0 的 token expire_in 使用 2020-06-08
- switch循环所支持的数据类型 2020-06-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash