DTO

如果一次性返回整个实体类,可能造成数据库表结构的泄漏,比如用户名密码一般不需要返回,用DTO解决这个问题

有一个Model:Expert.java

public class Expert {
	/**
	 * 专家编号
	 */
	@Id
	@Column(name = "expert_id")
	@ApiModelProperty("专家编号")
	@GeneratedValue(generator = "JDBC")
	private Long expertId;

	/**
	 * 登录名
	 */
	@ApiModelProperty(value = "登陆名,最大长度50", required = true)
	@NotBlank(message = "用户名不能为空!")
	@Length(min = 1, max = 50)
	@Transient
	private String loginName;

	/**
	 * 密码
	 */
	@ApiModelProperty(value = "登陆密码", required = true)
	@NotBlank(message = "密码不能为空!")
	@Length(min = 1, max = 500)
	@Transient
	private String password;

	/**
	 * 民族
	 */
	@ApiModelProperty(value = "民族", required = true)
	@Length(min = 1, max = 10)
	private String nation;

现在要求根据专家id查询专家信息,返回不带用户名和密码

创建一个DTO


public class ExpertDto {
	/**
	 * 专家编号
	 */
	@Id
	@Column(name = "expert_id")
	@ApiModelProperty("专家编号")
	@GeneratedValue(generator = "JDBC")
	private Long expertId;

	/**
	 * 民族
	 */
	@ApiModelProperty(value = "民族", required = true)
	@Length(min = 1, max = 30)
	private String nation;

用BeanUtils.copyProperties(source, target)方法, 根据专家id查询专家信息,返回不带用户名和密码

/**
	 * 根据id查询专家
	 * 
	 * @param id
	 * @return
	 */
	public ExpertDto selectByPrimaryKey(long expertId) {
		Expert source = expertMapper.selectByPrimaryKey(expertId);
		ExpertDto target = new ExpertDto();
		BeanUtils.copyProperties(source, target);
		return target;
	}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值