"该代码段是Java实现的一个服务层方法,用于查询系统列表并返回包含缩略图的系统信息。" 在IT行业中,文件上传和缩略图生成是常见的功能需求,特别是在网站或应用中展示图片时。这段代码展示了如何在图片上传后生成缩略图,并结合数据库操作来获取系统列表的相关信息。 首先,代码中的`querySystemList()`方法是用于从数据库查询私有系统的列表。这个方法首先创建一个`HashMap`对象`map`来存储结果,然后通过`priSystemDao.querySystemList()`调用数据访问对象(DAO)查询系统列表。查询结果是一个`Object[]`的列表,每个数组元素代表一个系统的信息,包括系统ID、系统名称、删除类型、描述、系统主页、控制参数、角色数量、用户数量和组数量。这些信息被逐个放入`HashMap`的`tempMap`中,然后添加到`mapList`。最后,将`mapList`放入`map`的"root"键下并返回整个`map`。 标签"上传"表明了这个功能与文件上传有关,可能是在系统中实现了图片上传的功能。在代码中并未直接显示文件上传的代码,但可以推断在其他地方会有一个处理文件上传的逻辑,可能使用了类似`MultipartFile`这样的Spring MVC组件来接收和处理上传的图片。 在类定义部分,`PriSystemServiceImpl`继承自`BaseServiceImpl`,并实现了`PriSystemService`接口。它还使用了`@Service`和`@Transactional`注解,表示这是一个Spring管理的业务服务组件,其方法操作将被事务管理。`@Resource`注解用于注入`PriSystemDao`,这是与数据库交互的DAO层组件。 在类的最后,可以看到一些关于图像处理的代码,这可能是用来生成缩略图的。这部分代码使用了`ImageIO`和`BufferedImage`等AWT库,可以读取图片,调整尺寸并生成新的缩略图。但是,这部分代码没有在`querySystemList()`方法中被调用,可能是在其他方法中处理上传图片后生成缩略图的逻辑。 这段代码主要涉及以下几个知识点: 1. Spring框架的Service层设计,使用`@Service`和`@Transactional`注解。 2. 数据库操作,通过DAO查询系统列表。 3. Java集合操作,如`HashMap`和`ArrayList`的使用。 4. 对象映射,将数据库查询结果转换为Java对象。 5. 文件上传的暗示,尽管具体实现未在此处展示。 6. 图像处理,利用AWT库生成缩略图。 这些知识点在实际的Web应用开发中非常常见,特别是对于处理用户上传图片并需要展示缩略图的场景。
import com.jht.privilege.common.exception.MyException;
import com.jht.privilege.dao.privilege.PriSystemDao;
import com.jht.privilege.model.PriMenuListModel;
import com.jht.privilege.model.PriSystemModel;
import com.jht.privilege.service.privilege.PriSystemService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created with IntelliJ IDEA.
* User: Administrator
* Date: 15-6-3
* Time: 下午3:45
* To change this template use File | Settings | File Templates.
*/
@Service
@Transactional
@Resource
private PriSystemDao priSystemDao;
//组装系统信息
public Map<String,Object> querySystemList(){
Map<String,Object> map = new HashMap<String,Object>();
List<Object[]> priSystemModelList = priSystemDao.querySystemList();
List<Map<String,Object>> mapList = new ArrayList<Map<String,Object>>();
for(Object[] objects : priSystemModelList){
Map<String,Object> tempMap = new HashMap<String,Object>();
tempMap.put("systemId",objects[0]);
tempMap.put("systemName",objects[1]);
tempMap.put("deleteType",objects[2]);
tempMap.put("discription",objects[3]);
tempMap.put("systemHomePage",objects[4]);
tempMap.put("controlParam",objects[5]);
tempMap.put("roleCount",objects[6]);
tempMap.put("userCount",objects[7]);
tempMap.put("groupCount",objects[8]);
mapList.add(tempMap);
}
map.put("root",mapList);
return map;
}
剩余8页未读,继续阅读
- 粉丝: 0
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展