java开发规约(参考阿里开发手册和实际开发)

本文概述了阿里巴巴Java开发手册中的关键点,如数据库命名规范、VO/DTO/BO的区别与使用,特别关注了DO到VO的转化技巧,以及如何优雅处理一对多和联查数据。通过MyMovieVo示例,介绍了如何创建和封装业务对象以适应Web展示需求。
摘要由CSDN通过智能技术生成

// 阿里巴巴java开发手册附件
阿里巴巴Java开发手册-2022最新嵩山版.pdf

实际开发总结注意点

1、数据库命名方法等
2、VO,DTO等使用,命名

【参考】分层领域模型规约:
• DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
• DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
• BO(Business Object):业务对象,可以由 Service 层输出的封装业务逻辑的对象。
• Query:数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类
来传输。
• VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。

package com.xusj.cinema.vo;

import com.xusj.cinema.domain.Movie;
import com.xusj.cinema.domain.MovieImage;
import com.xusj.cinema.domain.MovieType;
import org.springframework.util.CollectionUtils;

import java.util.List;

/**
 * 使用VO将数据,将就是返回给web页面的
 * 定义一些业务中需要的字段,通过数据进行拼接,在数据库中一对一/一对多的数据,进行联查封装
 *
 * @author xusj
 * <br>CreateDate 2022/5/14 15:04
 */
public class MyMovieVo extends Movie {
    /**
     * 业务中需要电影地区名称(联查出来的结果)
     */
    private String movieAreaStr;
    /**
     * 一对多电影类型(联查出来的结果)
     */
    private List<MovieType> movieTypeList;

    private List<MovieImage> movieImageList;

    /**
     * 定义方法拼接我们需要的属性,将属性类型进行拼接---业务中需要的数据,
     * 但是数据库数据需要进行一定的处理
     */
    public String getMovieTypeStr() {
        StringBuilder stringBuilder = new StringBuilder();
        if (CollectionUtils.isEmpty(movieTypeList)) {
            return "";
        }
        for (MovieType movieType : movieTypeList) {
            stringBuilder.append(movieType.getTypeName()).append(" ");
        }
        return stringBuilder.toString();
    }

    public String getMovieAreaStr() {
        return movieAreaStr;
    }

    public void setMovieAreaStr(String movieAreaStr) {
        this.movieAreaStr = movieAreaStr;
    }

    public List<MovieType> getMovieTypeList() {
        return movieTypeList;
    }

    public void setMovieTypeList(List<MovieType> movieTypeList) {
        this.movieTypeList = movieTypeList;
    }

    public List<MovieImage> getMovieImageList() {
        return movieImageList;
    }

    public void setMovieImageList(List<MovieImage> movieImageList) {
        this.movieImageList = movieImageList;
    }
}

==》更新2022.05.15

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值