首页文章kodi emby皮肤插件

kodi emby皮肤插件

时间2025-04-09 09:58:27发布yu分类文章浏览14
导读:前言: 在开发中,我们写的代码肯定是越少越好,代码层次越清晰越好。那么下面就介绍一些可以减少代码量、可以让结构更清晰的好东西。本文涉及vo、dto的使用、全局异常处理、表单验证以及一些小工具的使用。 一、lombok的使用: lombok是一个可以减少代码量的小工具,使用非常简单,只需要添加如下依赖: org.projectlombok lombok如果开发...


前言:
在开发中,我们写的代码肯定是越少越好,代码层次越清晰越好。那么下面就介绍一些可以减少代码量、可以让结构更清晰的好东西。本文涉及vo、dto的使用、全局异常处理、表单验证以及一些小工具的使用。
一、lombok的使用:
lombok是一个可以减少代码量的小工具,使用非常简单,只需要添加如下依赖:

org.projectlombok
lombok

如果开发工具为idea,那么再安装一下lombok插件即可。安装方法:
setting —> plugins —> browse repositories,然后搜索lombok。

image.png

如果开发工具是eclipse,安装lombok插件就麻烦一些,百度上有很多教程,此处就不再搬运了。
添加了依赖,安装好了插件,就可以使用了。下面主要介绍它的两个注解。
1、@Data:
我们在写实体类时,每个实体类都要写set、get方法以及toString方法等,虽然编辑器可以自动生成,但还是有些麻烦,而且大量的set、get方法使代码看起来不清爽。那么可以使用@Data来搞定。在实体类上加上此注解,就相当于写了set、get、toString、equals等方法。

这样的代码看起来就干净清爽多了。
2、@Slf4j:
这也是一个常用的注解。一般我们需要用日志都会像下面这样写:
Logger log = (Logger) LoggerFactory.getLogger(当前类.class);
log.error("【查询商品】商品不存在,productId={}",productId);

而加了这个注解,就不用自己创建log对象了,要用时直接用log调用对应方法就行了。
log.error("【查询商品】商品不存在,productId={}",productId);

关于lombok还有好多注解,暂且先介绍这两个常用的。
二、createTime和updateTime问题:
一般的表中,我们都会加上createTime和updateTime两个字段。然后有记录存入数据库时,要实体.setCreateTime(new Date())来赋值,更新时就要实体.setUpdateTime(new Date())。每次有新增记录或有更新时都要这样set一下,有些麻烦。其实这两个时间字段可以交给数据库管理。建表时createTime和updateTime字段这样写:

然后在对应的实体类上加@DynamicUpdate注解即可实现这两个字段的自动更新。创建时不用setCreateTime,更新时也不用setUpdateTime了。

三、枚举类的使用:
关于枚举类,我之前只是在学Java基础的时候了解过,后来老师教的一些demo中都没用到过,最近看的一个项目用到了,在此记录其用法。先看下面的代码:
@Entity
@Data
public class ProductInfo {

private Integer productStatus;//商品状态(0正常,1下架)
}

有一个商品类,productStatus是其状态,0是上架,1是下架。如果现在要查询所有上架商品,那么做法如下:
List productInfoList =
productInfoRepository.findByProductStatus(0);

这里可能看得还挺清楚,0表示上架,查询上架的,那么就是productStatus = 0 的,所以传入0即可。但是在项目中,实体类一多,用0和1表示的东西一多,就很容易搞错,到时候自己都要看半天才知道0代表什么1代表什么。这种情况就可以用枚举类来处理。新建一个ProductStatusEnum枚举类:

那么查询方法就可以这样写了:
List productInfoList =
productInfoRepository.findByProductStatus(ProductStatusEnum.UP.getCode());

ProductStatusEnum.UP.getCode()就是0,这样一看就知道是查上架的商品。

浙江版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com

展开全文READ MORE
皮肤插件
最新AI工具汇总:提升效率的必备利器与实践分享 抖音小店怎么上架自己的商品?详细步骤介绍