若依框架后端

若依框架后端

使用的技术

  • JDK1.8以上
  • MySQL 5.7以上
  • Maven 3.0以上

技术手册

分页

    startPage();  // 此方法配合前端完成自动分页

但是会出现一些问题使分页失效

失效原因1
startPage();
List<User> list;
if(user != null){
    list = userService.selectUserList(user);
} else {
    list = new ArrayList<User>();
}
Post post = postService.selectPostById(1L);
return getDataTable(list);

原因分析:这种情况下由于user存在null的情况,就会导致pageHelper生产了一个分页参数,但是没有被消费,这个参数就会一直保留在这个线程上。 当这个线程再次被使用时,就可能导致不该分页的方法去消费这个分页参数,这就产生了莫名其妙的分页。

解决方法

List<User> list;
if(user != null){
	startPage();
	list = userService.selectUserList(user);
} else {
	list = new ArrayList<User>();
}
Post post = postService.selectPostById(1L);
return getDataTable(list);
失效2
startPage();
Post post = postService.selectPostById(1L);
List<User> list = userService.selectUserList(user);
return getDataTable(list);

原因分析:只对该语句以后的第一个查询(Select)语句得到的数据进行分页。

解决方法

Post post = postService.selectPostById(1L);
startPage();
List<User> list = userService.selectUserList(user);
return getDataTable(list);

导入导出

在实际开发中经常需要使用导入导出功能来加快数据的操作。在项目中可以使用注解来完成此项功能。在需要导出实体类属性添加@Excel注解

里面有一部分属性
参数类型默认值描述
sortintInternet.MAX_VALUE导出时在excel中排序,值越小越靠前
nameString导出到Excel中的名字
dateTypeString日期格式, 如: yyyy-MM-dd
readConverterExpString,空如果是字典类型,请设置字典的type值 (如: sys_user_sex)
separatorString,读取内容转表达式 (如: 0=男,1=女,2=未知)
scaleint-1分隔符,读取字符串组内容
roundingModeintBigDecimal.ROUND_HALF_EVENBigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
celltypeEnumType.STRINGBigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
heightString14导出类型(0数字 1字符串 2图片)
widthString16导出时在excel中每个列的高度 单位为字符
suffixString导出时在excel中每个列的宽 单位为字符
defaultValueString文字后缀,如% 90 变成90%
promptString当值为空时,字段的默认值
combocomboNull提示信息
headerBackgroundColorEnumIndexedColors.GREY_50_PERCENT设置只能选择不能输入的列内容
headerColorEnumIndexedColors.WHITE导出列头背景色IndexedColors.XXXX
backgroundColorEnumIndexedColors.WHITE导出列头字体颜色IndexedColors.XXXX
colorEnumIndexedColors.BLACK导出单元格背景色IndexedColors.XXXX
targetAttrString另一个类中的属性名称,支持多级获取,以小数点隔开
isStatisticsbooleanfalse是否自动统计数据,在最后追加一行统计数据总和
typeEnumType.ALL字段类型(0:导出导入;1:仅导出;2:仅导入)
alignEnumHorizontalAlignment.CENTER导出对齐方式HorizontalAlignment.XXXX)
handlerClassExcelHandlerAdapter.class自定义数据处理器
argsString[]{}自定义数据处理器参数
导出流程

后端

  1. 在实体类变量上添加@Excel注解
  2. 在controller添加导出方法
    具体方法看官方文档

若依异常处理

在使用try…catch…对异常进行捕获处理,所有的异常会独立设立一个类来处理,我们在可能发生异常的方法里throw抛给控制器。然后使用全局异常处理控制器对异常进行统一处理。
全局异常处理就是使用@ControllerAdvice的注解

若以分页

若以分页需要控制层的返回值和service mapper的返回值一致,不让就会出现分页失效
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LMY~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值