当前位置: 首页 > wzjs >正文

做娃衣的布料去哪个网站坪山城市建设局官方网站

做娃衣的布料去哪个网站,坪山城市建设局官方网站,智能小程序开发哪家好,网线制作心得如果想要获取相关的源码,笔记,和相关工具,对项目需求的二次开发,可以关注我并私信!!! 一 第四天内容复习 1 用户修改成功后窗口无法自动关闭 如果修改成功后,窗口应该会自动关闭。 如果修改失败,窗口不会自动关闭,因为用户要看失败原因。 操作步骤:修改editsysus…

如果想要获取相关的源码,笔记,和相关工具,对项目需求的二次开发,可以关注我并私信!!!


一 第四天内容复习

1 用户修改成功后窗口无法自动关闭

如果修改成功后,窗口应该会自动关闭。

如果修改失败,窗口不会自动关闭,因为用户要看失败原因。

操作步骤:修改editsysuser.jsp页面中的JS代码里面的修改提交回调函数,如图:

红框内是添加的代码!!!

当然,对于用户添加成功后的窗口也可以实现自动关闭,只需在addsysuser.jsp页面中添加与上面相同的代码即可实现!!!

2 复习poi

Poi是apache的开源组件,提供一套java的api对word、excel等文档进行操作。

学习HSSF、XSSF,对excel操作。

使用HSSF进行excel文件写操作:

   HSSF只支持97-03版本excel,扩展名是.xls,每个sheet行数最大65536行。

  缺点:如果写数据量大文件,可能会导致内存溢出,原因,将所有数据对象放在内存中,最后执行文件内容写。

  优点:对于小数据量文件写操作,速度很快的。

 使用XSSF对excel写操作:

   XSSF只支持07以上版本excel,扩展名是.xlsx(不向下兼容), 每个sheet对行数据没 限制。

  优点:对大数据量文件执行写操作,不会导致内存溢出,原因,在写的过程中生成很多临时文件,一边写一边生成文件(内存中不会保留很多数据),最后将临时文件合并输出。

  缺点:对大数据量写操作,速度不快。

  如果需要导出1000条数据,使用HSSF导出。

  

工具类掌握 ExcelExportSXXSSF

使用HSSF和XSSF对excel进行读操作:

   HSSF只支持97-03版本excel,扩展名是.xls,每个sheet行数最大65536行。

   使用HSSF用户驱动模式:

     优点:方便编程,对于小数据量文件写操作,速度很快的。

     缺点:如果写大数据量文件,可能导致内存溢出,原因,将文件内容全部加载到内存,进行读操作。

     

    使用HSSF事件驱动模式:

      大概原理:通过事件驱动模式,需要实现一个接口HSSFListener,接口方法中定义事件驱动执行内容,在解析Excel文件每一行、每一个单元格直到解析出数据,这个过程进行不同的事件驱动。

      目标:在解析完每一行数据后事件驱动,将每一行数据获取到。

      优点:对读取大数据量的文件,不会导致内存溢出。

      缺点:编程实现复杂,读取文件速度不快,原因是在读取时进行事件 驱动,一边读一边进行事件驱动。

使用XSSF事件驱动模式。

  XSSF只支持07以上版本excel,扩展名是.xlsx(不向下兼容), 每个sheet对行数据没 限制。

    事件驱动的方法同HSSF事件驱动。

   

   使用HSSF或XSSF读取文件,实现数据导入,一般情况下03版本的65536行数据量够用。

      如果本机安装07版本的excel软件,使用HSSF导入,可以将.xlsx另存为03版本的文件。

二 药品目录导入功能的实现

1 需求

第一步:进入原型中的导入页面。页面中要包括:导入说明,导入信息模板,如图:

第二步:提前准备导入excel模版文件excel文件中包括导入说明、导入工作表模版(列顺序固定,该文件可以放到eclipse的project工程下的目录中

本系统在实际的页面中不可能做的跟原型页面一模一样,有些出入,但不影响功能的实现!

第三步:下载导入模版文件。点击“药品信息模板”链接下载.

将导入模板文件下载到本地中,然后打开该excel文件,可以看到两部分信息

第一部分:第一个sheet中的内容是导入说明

为了方便解析字段中的内容,所有字段都是字符串型!!

导入说明中的内容可以更详细,包括一些重要的字段的填写,必须要按照说明中的指导去填写,例如日期格式的

编写要按照说明中描述去写!

用户按照模版的导入说明,直接在模版中填写要导入的数据(用户就不必再重新创建一个excel文件来输入数

据了

第二部分:第二个sheet中的内容是药品信息,并且列名的名称和顺序必须固定,不可更改,否则后台会解析出错,因为后台就是按照此顺序来解析的!!

第四步:选择要导入的文件,执行导入操作

2 dao

因为执行的是导入的操作,实际是向药品目录表ypxx中批量插入记录的过程。

该表在昨天使用的逆向工程中已经自动生成过了.

3 定义Oracle触发器(重点)

注意:Ypxx表中,bm流水号字段(该流水号字段应该与省平台中的流水号的值相同)是通过触发器实现的(该触发器已经实现好了)。在mysql中有一个自增主键,但是在oracle中使用的是序列来表示该序列会在在插入之前通过触发器得一个序列值,实现自增主键的功能!

create or replace trigger generator_ypxxbm--在插入ypxx表之前进行触发before insert on ypxxfor each row
declare-- local variables here
begin--把新记录的值yyxxbm.nextval赋给bm字段select ypxxbm.nextval into :new.bm from dual;
end generator_ypxxbm;

4 service

接口功能:在昨天的内容中已经定义过了该HxlsOptRowsInterface接口了(昨天讲过的),HxlsOptRowsInterface接口中的数据已经保存在参数rowlist中。所以不用定义了

接口的实现:这里只需要实现HxlsOptRowsInterface接口(昨天讲过的),同时需要校验导入的数据,数据通过该

接口中的rowlist参数来接收。校验通过后方可调用dao进行插入操作。具体看代码实现

HxlsOptRowsInterface.java接口.

在昨天的文档中已经说明了,该接口已经存在于util工具类中:

public interface HxlsOptRowsInterface {

public static final String SUCCESS="success";

/**

 * 处理excel文件每行数据方法

 * @param sheetIndex 为sheet的序号

 * @param curRow 为行号

 * @param rowlist   行数据

 * @return success:成功则返回字符串success,否则为失败原因(失败则返回字符串).

 * @throws Exception

 */

public String optRows(int sheetIndex,int curRow, List<String> rowlist) throws Exception;

}

只需要编写针对HxlsOptRowsInterface接口的实现类

public class YpxxImportServiceImpl implements HxlsOptRowsInterface {@Autowiredprivate YpxxMapper ypxxMapper;@Overridepublic String optRows(int sheetIndex, int curRow, List<String> rowlist) throws Exception {/**
* 这里必须要使用try...catch进行捕获,因为这里涉及到对插入数据的校验.
* 通过查看HxlsOptRowsInterface接口中定义的信息可知:如果校验失败,返回失败信息(字符串类型);
* 如果校验成功则返回success字符串!
*/try {/*
* 第一步:获取模板文件中所填写的数据.
* optRows()方法中的参数rowlist中存储的是解析excel文件后的一行的数据,必须按照模版文件中的列名标题去解析,因为是你要求用户按照模板文件去填写的.如图:*/String mc = rowlist.get(0);// 通用名String jx = rowlist.get(1);// 剂型String gg = rowlist.get(2);// 规格String zhxs = rowlist.get(3);// 转换系数String zbjg = rowlist.get(4);// 中标价格String scqymc = rowlist.get(5);// 生产企业String spmc = rowlist.get(6);// 商品名String jyzt = rowlist.get(7);// 交易状态/*
* 第二步:进行数据的合法性校验。因为模板文件中的内容如果用户输入错了呢!校验的内容包括:
* 1.校验中标价格的合法性校验,字符串必须要能转换为float.这里略过....
* 2.校验交易状态的合法性.
*  等等...................包括其他数据的校验........
*///如果交易状态的数据不合法.if (jyzt == null || (!jyzt.equals("1") && !jyzt.equals("2"))) {// 查看HxlsOptRowsInterface接口中定义的参数可知:success表示成功,失败则返回失败信息(失败信息为字符串)return "交易状态输入值不对,请输入1:正常,2:暂停";}/*
* 第三步:进行唯一校验,因为在ypxx表中还有两个约束,如下图:其中一个是bm唯一性约束ÿ

文章转载自:

http://KBQ0wvcj.Ljtwp.cn
http://VEUyxBf8.Ljtwp.cn
http://2vPc9Vyj.Ljtwp.cn
http://yLj328xJ.Ljtwp.cn
http://O2QkLOx9.Ljtwp.cn
http://qBWtMts4.Ljtwp.cn
http://vmPeZCdj.Ljtwp.cn
http://rywD44uf.Ljtwp.cn
http://PomzuGQo.Ljtwp.cn
http://XYACjcg0.Ljtwp.cn
http://bt2Ox1vk.Ljtwp.cn
http://SEs4FFUx.Ljtwp.cn
http://hALVsyuf.Ljtwp.cn
http://UwvVoVOV.Ljtwp.cn
http://3Tkj5Eze.Ljtwp.cn
http://gNq8a3gL.Ljtwp.cn
http://jHhnyqyP.Ljtwp.cn
http://PYeqE15A.Ljtwp.cn
http://kZGdUM30.Ljtwp.cn
http://FYYTO5xr.Ljtwp.cn
http://eb0ocRMD.Ljtwp.cn
http://Rj9uydVp.Ljtwp.cn
http://URoaOduy.Ljtwp.cn
http://YIITtV5B.Ljtwp.cn
http://rlTjIsdx.Ljtwp.cn
http://h1ZNUn68.Ljtwp.cn
http://ov1DzRRp.Ljtwp.cn
http://KjhHAdrE.Ljtwp.cn
http://Wwz347nP.Ljtwp.cn
http://RB21JqvK.Ljtwp.cn
http://www.dtcms.com/wzjs/657898.html

相关文章:

  • 水务公司网站建设方案公司内部网站一般都怎么维护
  • 站酷网素材图库海报设计网站怎么建立视频
  • 网站建设与管理好过吗vps服务器怎么创建多个网站
  • 网站大全官网应用关键词优化
  • 神州网站制作福州做网站公司
  • 海商网做网站价格滨州公司网站建设推广
  • 上海做响应式网站的公司管理系统网页界面设计
  • 瑞安营销网站建设园林公司网站模板
  • 在线搭建网站竞价销售是什么意思
  • 广州移动网站开发个人怎么注册个体工商户
  • 网站建设蓝色工匠郑州市金水区建设局官方网站
  • 网站设计制作公司排名接入服务商网站备案管理系统技术规范要求
  • 做建设网站的活的兼职军人可以做网站吗
  • phpcms如何做装饰网站公司做网站流程流程
  • 嘉兴建设企业网站外包服务属于什么行业
  • 网站建设 中企动力 扬州公证网站建设管理
  • 淮安市汽车网站建设背景网络优化工程师实习报告
  • 工业设计网站外网北京企业网站制作
  • 网站域名备案证书小制作简单易学
  • 免费下载图片的网站有哪些东莞常平镇地图
  • 用了wordpress的网站顺德微信网站建设
  • 网站建设开发合同北京王府井在哪个区
  • 桥梁建设网站高邮建设银行网站
  • 安徽池州做企业网站wordpress mysql 安装
  • 郑州网站设计公司排名西安推广网站
  • 凡客建设网站稳定吗网站建设朋友圈
  • 电脑做网站服务器WIN7 买个域名wordpress 爬
  • 网站平面模板上海企业电话查询
  • 某某网站安全建设方案wordpress 转 html
  • 网站开发用什么数据库dedecmsv5.6 qq空间网站模板