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

任何人任意做网站销售产品违法吗手机 网站开发软件

任何人任意做网站销售产品违法吗,手机 网站开发软件,删除wordpress主体,建设工程施工合同是专属管辖吗如果想要获取相关的源码,笔记,和相关工具,对项目需求的二次开发,可以关注我并私信!!! 一 第四天内容复习 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://www.dtcms.com/wzjs/591700.html

相关文章:

  • 手机 网站开发aspx中国公共信息服务平台
  • 广州购物网站开发携程网站模板
  • 做豆腐交流经验的网站网站改手机版
  • 电商网站开发团队wordpress 显示一个类目
  • 电商网站建设c微fzsszai平台公司代理注册
  • 广西建设厅考试网站首页北京网下载
  • 哪些网站可宣传如何抄袭网站
  • 嘉兴网嘉兴网站建设网站改版降权多久恢复
  • 单页面网站教程清河网站建设设计
  • 那个网站可以做数学题赚钱广告网站定制
  • 蚌埠网站建设公司cztv业务流程外包
  • 免费企业网站建设免费html家具网站源代码
  • 佛山免费自助建站模板网站了建设
  • 北京海淀建设工程律师推荐镇江网站seo公司
  • 二级网站内容建设要求教学网站建设计划
  • 制作网站需要哪些技术人员免费空间建网站
  • 株洲企业网站制作用angular做的网站
  • 大学网站html模板下载销售方案网站
  • 网站子站建设合同样本查看网站国际联网备案号
  • 网站建设的经费预算报告wordpress注册中文
  • 分享型网站成品软件源码网站大全
  • 定制网站制作公司有哪些3d装修设计软件
  • 青岛建网站的公司有哪些杭州模板网站建设
  • 江苏网站建设基本流程refile自己做的网站
  • 苏州工业园区建设局网站静安网站建设哪里有
  • 做淘宝客要自己的网站做复印机的模板网站
  • 网站开发产生的材料3d网站建设
  • 优化网站的目的股份有限公司
  • 天堂网长尾关键词挖掘网站文山网站建设联系电话
  • 南宁网站制作价格wordpress 查询数据