java的po对象如何转换为vo对象

写下带不走的风 发布于 2016/06/16 20:42
阅读 1K+
收藏 1

数据库里面查询出来的对象就是:po对象。列表就是List<Po>类型的

因为Po对象直接映射数据库,显然不能暴露给前台。因此需要转换为Vo对象。

那么怎么转换效率最高?

加载中
0
loyal
loyal

暴露了会肿么样?

写下带不走的风
写下带不走的风
你猜?“
0
554330833a
554330833a
不明觉厉
0
源-代码
源-代码
其实没必要转吧,如果非要转的话,那就用beawrapper,我感觉简单而且效率应该不错
0
前世疯狂
前世疯狂

如果你使用了数据框架的类似Hibernate之类的还是很方便的。

Hibernate中为例:

1.可以在HQL中直接new出你的VO作为返回值查出即可:" select new Vo(p.name, p.address) from Pojo as p ";

2.可以使用 setResultTransformer(Transformers.aliasToBean(Vo.class)) 将返回的结果集转换为对应的Vo对象

以上是个人感觉比较好用的两种简单方法

写下带不走的风
写下带不走的风
mybatis谢谢,我要对个别字段进行加密处理,给前端用。库里面的是int类型没法加密
0
xingxy
xingxy
也可以这样:   BeanUtils.copyProperties(po, vo);
写下带不走的风
写下带不走的风
是的,但是是不是要针对每一个po生成一个vo
0
银杏卡卡
银杏卡卡
转json不就行了,再说前台是web的话它数据结构根本不会暴露,数据多次转换根本没必要,而且还影响性能
写下带不走的风
写下带不走的风
不采纳,但感谢提供方案,谢谢。
0
追梦的青春
怕数据暴露就用json格式就好了。
0
阿影
阿影
定义Assembler<T, V> 接口,在需要的业务接口或控制器输出前,根据业务实现 Assembler 自定义转换,或者使用 apache commons 工具转换。
返回顶部
顶部