文章目录
-
- 1:身份证工具类相关方法
- 2:字符串补零处理(此处是JAVA类的方法,并无引用StrUtil)
- 3:springboot前后端分离,后端返回json字符串带斜杠问题处理
- 4:WebUploader 上传组件 -编辑回显自动上传问题(效果:已存在的只展示,新添加的自动上传)
- 5:mybatis 集合/数组传参
- 6:多个字典进行翻译展示处理
- 7:logger记录信息
- 8:Transactional 事务放在循环业务中的接口,保证正常返回
- 9:switch cash 匹配枚举类
- 10:获取两个集合的差集(A不存在B,B不存在A)
- 11:input 设置只允许输入两位小数的数字信息(正负数)
- 12 监听select /select2 事件
- 13 监听input number 数字的变化
- 14 js 为div赋值
- 15 select 过滤掉指定选项
- 16 不同service之间的事务处理
- 17:二维集合之间的比较:判断任意两两集合元素之间是否相同
在这里整理一下博主在日常开发过程中经常见到的一些小问题以及处理方式。
1:身份证工具类相关方法
1.1 身份证脱敏处理
在开发关于用户功能时,尤其是导出功能,我们经常会在导出的时候,对用户的身份证号脱敏处理。
DesensitizedUtil工具类已封装好脱敏处理,我们不需要在网上额外找方法进行封装。
我们可以直接调用idCardNum方法(不用考虑空指针问题,身份证号为空则返回空)。
比如:从第七位开始,截止到倒数第五位,隐藏这部分之间的信息
DesensitizedUtil.idCardNum("314215749845134567",6,4)
结果如下:
2:字符串补零处理(此处是JAVA类的方法,并无引用StrUtil)
想要实现根据0001依次累加的效果(0002,0003,0010。。。。1000)这样的效果,那么我们可以使用String工具类:如下
String.format("%04d", num);
%0nd 的格式字符串实现补零的效果。
%04d 用于格式化整数 num,其中 0 表示补零,4 表示输出的字符串长度,若num长度大于4位则不补零
3:springboot前后端分离,后端返回json字符串带斜杠问题处理
首先声明一个对应的JSONObject对象或者JSONArray数组,
返回前端时,将json字符串转换为对应的json信息即可
com.alibaba.fastjson.annotation.JSONField
@ApiModelProperty(value = "消息体")
private String messageInfo;
@ApiModelProperty(value = "消息体展示")
private JSONObject messageJson;
eventList.stream().forEach(x->{
x.setMessageJson(JSONObject.parseObject(x.getMessageInfo()));
});
效果如下:
4:WebUploader 上传组件 -编辑回显自动上传问题(效果:已存在的只展示,新添加的自动上传)
编辑页面:设置文件自动上传的前提下,针对已存在数据库的文件只做回显处理,只有新选择的文件才做自动上传服务器处理。
回显的js业务代码 可查看资源(百度webupload上传组件-关于文件编辑回显的方法整合)
前端展示处理:
后端返回处理:
因为文件存储到数据库的时候我们只是存储了文件名称,并没有存储访问路径,所以要返回两个集合
一个用来展示,一个用来存储数据库(在前端时的初始化)
5:mybatis 集合/数组传参
1:集合类型参数
mapper文件
查询方法
List<Model> selectList(List<String> checkStatusListParam);
对应sql的where条件
<if test="checkStatusListParam!=null and checkStatusListParam.size()>0">
and check_status in
<foreach item="checkStatus" collection="checkStatusListParam" open="(" separator="," close=")">
#{checkStatus}
</foreach>
</if>
1.2:集合类型传参且判断是否为空
若是单独作为一个参数进行查询,且进行了非空判断,则需要加Param注解
public BigDecimal selectWorkChangeMoneyByBorIdList(@Param("idList") List<Long> idList);
<select id="selectWorkChangeMoneyByBorIdList" resultType="BigDecimal">
select ifnull(sum(WK_MONEY),0)
from 表A
<where>
<if test="idList!=null and idList.size()>0">
and id in
<foreach item="id " collection="idList" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where>
</select>
2:数组类型参数
mapper文件:删除方法
int delete(@Param("monthTime") String monthTime, @Param("array")String[] deptArray);
对应sql:
<delete id="delete" parameterType="String">
delete from table
where month=#{monthTime}
<if test="array!=null and array.length>0">
and id in
<foreach