Springboot & Mybatis 构建restful 服务四

1 前置条件

  • 成功执行完Springboot & Mybatis 构建restful 服务三

2 restful service 添加 Apache POI生成 Excel 文件

1)修改 POM.xml文件

添加 Apache POI 的依赖

        <dependency>
             <groupId>org.apache.poi</groupId>  
             <artifactId>poi-ooxml</artifactId>  
             <version>3.5-FINAL</version>  
        </dependency>
 

2)在SY里添加创建 excel 文件的方法

​ src/main/java/com/serena/controller/SY.java

 
    @ApiOperation(value="查询所有账户余额等信息,并导出在 excel 表格中")
    @RequestMapping(value="/accountsfile",method = RequestMethod.GET)
    public boolean wSelectAll(HttpServletResponse response){
        logg.info("write a file that select accounts "); 
        List<SettleAccount> list = null;
        boolean flag = false;
        // 获取所有账户信息
        list = iSY.selectAccounts();
        // 判断是否存在账户
        if(list == null)
            logg.warn("not found accounts");
        else{
            // 创建表对象
            HSSFWorkbook workBook = new HSSFWorkbook();
            ServletOutputStream fileOut = null;
            try {
                // 获取输出流对象
                fileOut = response.getOutputStream();
                // 创建 sheet
                HSSFSheet sheet = workBook.createSheet();
                // 设置表格第一行的字段名
                HSSFRow row = sheet.createRow(0);
                int i =1;
                row.createCell(0).setCellValue("账户编号");
                row.createCell(1).setCellValue("账户名");
                row.createCell(2).setCellValue("客户编号");
                row.createCell(3).setCellValue("短信余额");
                for (SettleAccount acc : list) {
                    HSSFRow rowi = sheet.createRow(i++);
                    rowi.createCell(0).setCellValue(acc.getAccountcode());
                    rowi.createCell(1).setCellValue(acc.getAccountname());
                    rowi.createCell(2).setCellValue(acc.getCustomercode());
                    rowi.createCell(3).setCellValue(acc.getSmsnum().doubleValue());
                }
                workBook.write(fileOut);
                return true;
            } catch (FileNotFoundException e) {
                logg.error("create table error ---- " + e.getMessage());
                e.printStackTrace();
                return false;
            } catch (IOException e) {
                logg.error("create table error ---- " + e.getMessage());
                e.printStackTrace();
                return false;
            } finally {
                try {
                    fileOut.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return flag;
    }

5)在终端输入如下测试指令:

#cd 项目所在目录
cd /Users/psj/Documents/pro/xm/AccountBalance
mvn clean package
cd target
mkdir /Users/psj/Desktop/t/
#将 tar 包复制到自己指定目录(/Users/psj/Desktop/t/)
cp AccountBalance-0.0.1-SNAPSHOT.tar /Users/psj/Desktop/t/
#cd 到上个操作指定的目录
cd /Users/psj/Desktop/t
#解压 tar 包
tar -xvf AccountBalance-0.0.1-SNAPSHOT.tar
#此时可查看目录结构如要求所示
ll
#运行 可执行jar,测试结果
java -jar AccountBalance-0.0.1-SNAPSHOT.jar
#
#打开浏览器
http://localhost:8999/accountsfile
#在下载对话框中指定文件名和保存路径
#
#返回上个 iterm 窗口,control+c 结束服务
 

Springboot & Mybatis 构建restful 服务四的更多相关文章

  1. Springboot & Mybatis 构建restful 服务五

    Springboot & Mybatis 构建restful 服务五 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务四 2 restful ...

  2. Springboot & Mybatis 构建restful 服务三

    Springboot & Mybatis 构建restful 服务三 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务二 2 restful ...

  3. Springboot & Mybatis 构建restful 服务二

    Springboot & Mybatis 构建restful 服务二 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务一 2 restful ...

  4. Springboot & Mybatis 构建restful 服务

    Springboot & Mybatis 构建restful 服务一 1 前置条件 jdk测试:java -version maven测试:命令行之行mvn -v eclipse及maven插 ...

  5. 基于SpringBoot开发一个Restful服务,实现增删改查功能

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  6. jersey+maven构建restful服务

    一.新建一个Maven Web项目 a) 新建一个简单的Maven项目 b) 将简单的Maven项目转成Web项目 (若没出现further configuration available--或里面的 ...

  7. 用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2

    一.整体说明 本例执行演示了用 Jersey 构建 RESTful 服务中.怎样集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其它相关的jar ,导入项目 三.配置 ...

  8. JAX-RS(基于Jersey) + Spring 4.x + MyBatis构建REST服务架构

    0. 大背景 众所周知,REST架构已经成为现代服务端的趋势. 很多公司,已经采用REST作为App, H5以及其它客户端的服务端架构. 1. 什么是JAX-RS? JAX-RS是JAVA EE6 引 ...

  9. 使用spring mvc或者resteasy构建restful服务

    看到最近一个项目里用resteasy来构建restful接口,有点不明白,不少Spring mvc4.0以后也可以很方面的实现restful服务吗,为啥还要在Spring MVC的项目里还引入rest ...

随机推荐

  1. win10以管理员身份运行cmd方法

    win10以管理员身份运行cmd方法 win8win10以管理员身份运行cmd方法1.直接到 C:\Windows\System32 下面找cmd.exe 右键以管理员方式打开就可以了 2.按WIN+ ...

  2. python3编码

    一.字符编码 1.什么实字符编码:将人识别的字符转换成计算机能识别的01,而转换的过程或者规则就是字符编码表. 而这种字符编码表表示了一种对应关系. 2.常用的字符编码表有:ascii.unicode ...

  3. cxgrid属性说明,每次用的时候费时费力查找。

    由层得到数据表名: procedure TFB_PatientWaiting.cxgrdbtblvwGrid1DBTableView_MyPatienWaitingDblClick( Sender: ...

  4. Delphi全局热键的注册

    1.在窗启动时创建ATOM;(aatom:ATOM;定义在private中) then begin aatom:=GlobalAddAtom('ZWXhotKey'); end; ) then beg ...

  5. java学习--自定义类的实例的大小比较和排序

    我们知道Object类有一个equals方法,用于比较两个对象是否相等 我们只要在自定义类中重写了equals方法(若不重写就是比较两个实例的地址,相当于==)就可以用来比较该类的两个实例是否相等 问 ...

  6. 自然语言推断(NLI)、文本相似度相关开源项目推荐(Pytorch 实现)

    Awesome-Repositories-for-NLI-and-Semantic-Similarity mainly record pytorch implementations for NLI a ...

  7. jquery遍历----end()方法

    定义和用法 end() 方法结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态. 举个栗子: <body> <ul class="first"> ...

  8. [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1

    [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1 有了安装Jira的经验, 这次再安装conflue ...

  9. linux 下导出oracle数据库

    #变更用户su - oracle <<EOF#添加用户名/密码,目标文件地址和文件名 ,保存记录日志地址/文件名  full=y表示数据库全部导出,默认导出连接数据库的用户数据库对象 ex ...

  10. spark内存分配

    问题描述 在测试spark on yarn时,发现一些内存分配上的问题,具体如下. 在$SPARK_HOME/conf/spark-env.sh中配置如下参数: SPARK_EXECUTOR_INST ...