工作的一些tips

一 、判空条件

以后String判空不能一昧使用如下方法,要学会使用org.apache.commons.lang3.StringUtils 类提供了 String 的常用操作,最为常用的判空有如下两种 isBlank(String str)可判断判断参数:是否为空,长度是否为0,值是否包含空白字符、制表符、换行符、换页符和回车符都视为空白字符)和 isEmpty(String str) ,但是 isEmpty(String str) 和如下一样,条件太少

if(str != null && str.length != 0){
	return true;
}

二、linux与windows有许多差别会引起结果不同

  1. Linux与windows之间md5加密会引起不同 (如果有中文)
解决方法:
//转化字节,并选择utf-8
            byte[] btInput = bs.getBytes("UTF-8");

三、在进行数据存储时,解决实体类与DTO属性不完全相同

serviceImpl

Entity entity = SmartBeanUtil.copy(DTO, Entity.class);

SmartBeanUtil

    /**
     * 复制对象
     *
     * @param source 源 要复制的对象
     * @param target 目标 复制到此对象
     * @param <T>
     * @return
     */
    public static <T> T copy(Object source, Class<T> target) {
        if(source == null || target == null){
            return null;
        }
        try {
            T newInstance = target.newInstance();
            BeanUtils.copyProperties(source, newInstance);//copyProperties为JDK中的方法
            return newInstance;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

四、字符串拼接不要用+

可以使用StringBuilder或者StringBuffer

五、实体类字段类型不要使用基本数据类型

由于基本类型,如int作为实体类字段时会有默认值0,而且无法消除,所以实体类中建议不要使用基本类型.

六、实体类加@id注解

默认情况下,实体类中如果不存在包含@Id注解的字段,所有的字段都会作为主键字段进行使用(这种效率极低).

七、避免写出大类,类的字段过多

引入应用服务层,在应用服务层去协调各个领域服务层。而在领域服务层,一个服务通常只对应一个数据库访问层的代码。

八、mybatis入参为0时,判断时要加上or status==0 或者删去and status != ‘’

mybatis的Integer类型参数如果有为0的可能,在if标签判断中还应该单独加入判断,否则参数0会当成空字符串处理,所以应该改写为这种写法:

<if test="status != null and status != '' or status==0">AND t1.status =#{status}</if>

或者

<if test="status != null">AND t1.status =#{status}</if>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值