Java开发中POJO和DAO的思考

Java开发中POJO和DAO的思考

 

开发中POJO是DO, DTO和VO等的统称。

DO是data object的缩写,是数据对象的意思,一般和数据库中的表相对应。会放在domain包中。如果使用jpa开发,则DO的属性会被@Id, @Column, @OneToMany, @OneToOne, @ManyToMany和@mappBy等注解修饰来建立数据对象跟数据库表之间的映射关系,以及表之间的关联关系。如果使用mybatis开发,则不需要注解修饰,只需要简单的Java对象就可以。

DAO是data access object的缩写,是数据访问对象的意思。如果使用jpa开发,可以放在repository或者dao包中,并且是接口的形式,只需要继承jpa提供的repository接口,并添加自定义方法即可,jpa提供了用curd的curdrepository和pagerepository等接口,用于简化常用操作。如果使用mybatis开发,一般放在mapper包中,同样是接口形式,接口使用@Select, @Update, @Insert, @Delete等注解修饰,在注解中手写SQL完成增删改查等常用操作。

DTO是data transfer object的缩写,意思是数据传输对象,会放在dto包中,用在service层,service层一般会调用DAO中定义的方法获取DO对象,完成业务逻辑后,如果需要返回对象时,会把对象组合或者转化为DTO对象向外传输。转化过程一般使用spring提供的BeanUtils类的copyproperties方法把DO对象的属性复制到DTO对象里。

VO是view object的缩写,意思是视图对象,用于展示数据给用户,用在controller层,是controller向外传输的对象,controller中一般会调用service层中类的方法获取DTO对象,然后转化为VO对象返回给调用端。

DO到DTO,再到VO的转化,一方面是为了把数据返回给调用端,另一方面是为了安全,不把敏感信息返回给调用端。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值