- 本文为原创:欢迎转载学习。
1 . java生成Excel分析:(可以参考官网)
创建HSSFWorkbook
创建HSSFSheet
创建Row
获取row填充数据:row.getCell(0).getStringCellValue()
@Action(value="uploadAreaInfo")
public String uploadAreaInfo() throws Exception{
List<Area> list = new ArrayList<Area>();
//利用poi的hssp格式解析
// 加载excel对象
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));
//读取工作蒲第一个sheet
HSSFSheet sheet = wb.getSheetAt(0);
//读取工作蒲中的每一行的数据
for (Row row : sheet) {
//一行数据对应一个对象
if (row.getRowNum()==0) {
//跳过第一行
continue;
}
if (row.getCell(0)==null
||StringUtils.isBlank( row.getCell(0).getStringCellValue())) {
//跳过空行
continue;
}
//将每一行的数据
Area area = new Area();
area.setId(row.getCell(0).getStringCellValue());
area.setProvince(row.getCell(1).getStringCellValue());
area.setCity(row.getCell(2).getStringCellValue());
area.setDistrict(row.getCell(3).getStringCellValue());
area.setPostcode(row.getCell(4).getStringCellValue());
list.add(area);
}
//调用业务层保存
areaService.save(list);
return NONE;
}
- POI官网的链接地址:http://poi.apache.org/
2 . 将表单的数据转换成json格式数据
$.fn.serializeJson = function() {
var serializeObj = {};
var array = this.serializeArray();
var str = this.serialize();
$(array).each(function() {
if(serializeObj[this.name]) {
if($.isArray(serializeObj[this.name])) {
serializeObj[this.name].push(this.value);
} else {
serializeObj[this.name] = [serializeObj[this.name], this.value];
}
} else {
serializeObj[this.name] = this.value;
}
});
return serializeObj;
}
3.获取父类的泛型
//动态获取当前类的父类的对象
Type type = this.getClass().getGenericSuperclass();
ParameterizedType parameterizedType = (ParameterizedType) type;
//获取第一个泛型参数
Class<T> modelClass = (Class<T>)parameterizedType.getActualTypeArguments()[0];
try {
model = modelClass.newInstance();
} catch (Exception e) {
e.printStackTrace();
}
4 . jquery easyUi的分页查询数据
//分页的数据
private Integer page;
private Integer rows;
public void setPage(Integer page) {
this.page = page;
}
public void setRows(Integer rows) {
this.rows = rows;
}
public Integer getPage() {
return page;
}
public Integer getRows() {
return rows;
}
protected <T> void pushPageInfo(Page<T> result){
Map<String,Object> map = new HashMap<>();
map.put("total", result.getTotalElements());
map.put("rows", result.getContent());
ActionContext.getContext().getValueStack().push(map);
}
5 . Spring整合jpa实现分页查询和条件查询代码截取
//查询数据并分页显示
@Action(value="findAllArea",results = {@Result(name="success",type="json")})
public String findAllArea(){
//分页数据封装
Pageable pageable = new PageRequest(page-1, rows);
//tiao条件封装
Specification<Area> specification = new Specification<Area>() {
@Override
public Predicate toPredicate(Root<Area> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
System.out.println(root);
System.out.println(query);
System.out.println(cb);
//添加查询条件
List<Predicate> list = new ArrayList<>();
if (StringUtils.isNotBlank(area.getProvince())) {
Predicate p1 = cb.like(root.get("province")
.as(String.class), area.getProvince()+"%");
System.out.println(root.get("province").as(String.class));
System.out.println(area.getProvince());
list.add(p1);
}
if (StringUtils.isNotBlank(area.getCity())) {
Predicate p2 = cb.like(root.get("city")
.as(String.class), area.getCity()+"%");
list.add(p2);
}
if (StringUtils.isNotBlank(area.getDistrict())) {
Predicate p3 = cb.like(root.get("district")
.as(String.class), area.getDistrict()+"%");
list.add(p3);
}
return cb.and(list.toArray(new Predicate[0]));
}
};
Page<Area> result =areaService.findAllAreaInfo(pageable,specification);
Map<String,Object> map = new HashMap<>();
map.put("total", result.getTotalElements());
map.put("rows", result.getContent());
ActionContext.getContext().getValueStack().push(map);
return SUCCESS;
}