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

做有色金属哪个网站好网站开发实训报告总结

做有色金属哪个网站好,网站开发实训报告总结,做外贸 网站邮箱申请,店面装修设计图片我博客前面有写道SpringJDBC调用通用的Oracle存储过程,今天来讲一下通用的Java存储过程带分页的功能,其中里面还有动态查询的SQL拼接,好的,先上代码1.Java代码Autowiredprivate JdbcTemplate jdbcTemplate;/**分页查询* return*/ResponseBodyRequestMapping(value /find…我博客前面有写道SpringJDBC调用通用的Oracle存储过程,今天来讲一下通用的Java存储过程带分页的功能,其中里面还有动态查询的SQL拼接,好的,先上代码1.Java代码Autowiredprivate JdbcTemplate jdbcTemplate;/**分页查询* return*/ResponseBodyRequestMapping(value /findPageList, method {RequestMethod.GET, RequestMethod.POST}, produces application/json;charsetutf-8)public IResult findPageList(RequestBody String param){HashMap hashMap JSON.parseObject(param, HashMap.class);String name(String) hashMap.get(name);ListreqListnull;if( hashMap.get(reqList) ! null){reqList(List) hashMap.get(reqList);}ListresList(List) hashMap.get(resList);Mapmapthis.callPageProcedure(name,reqList,resList);List rlist (List)map.get(data);int rtotal (Integer)map.get(total);return new PageResultBean(rlist,rtotal);}/**** 分页的存储过程* * 获取数据库内的存储过程--返回一个Map,封装有list集合和总记录数* param procedureName 存储过程名* param inParameter 输入的参数page,limit 至少有2个* param outParamter 输出的参数* return*/private MapcallPageProcedure(final String procedureName,final List inParameter,final List outParamter){if(procedureNamenull || procedureName.length() 0 ){return null;}//输入参数的校验if(inParameter null ){throw new BizException(输出参数为空!);}//输入参数的校验if(inParameter.size()2 ){throw new BizException(输出参数的个数错误!);}//输出参数的校验,没有返回参数则抛出异常if(outParamter null || outParamter.size() 0){throw new BizException(输出参数为空!);}Mapr (Map) jdbcTemplate.execute(new CallableStatementCreator() {public CallableStatement createCallableStatement(Connection con) throws SQLException {int inSize inParameternull?0:inParameter.size();//int outSize outParamternull?0:outParamter.size();StringBuffer sbsql new StringBuffer();sbsql.append({call procedureName).append(();//注意这里面返回的是游标,加1即可for(int i0;i 0 ){String typeName null;for(int i0;i() {public MapdoInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {int inSize inParameternull?0:inParameter.size();MapresMapnew HashMap();Listlist new ArrayList();cs.execute();ResultSet rs (ResultSet) cs.getObject(inSize1);// 获取游标一行的值int count(int)cs.getObject(inSize);//取条数while (rs.next()) {// 转换每行的返回值到Map中Map rowMap new HashMap();for(int i0;i2.Oracle数据库代码--程序包头create or replace package P_findAreaPage_pakistype outData is ref cursor;procedure P_findAreaPage(p_pagesize int,p_startsize int,jgdm varchar2,ywlx varchar2,jgmc varchar2,xzqhname varchar2,sDate varchar2,eDate varchar2,out_pagecount out int,--输出参数,调用的时候随便填写一个整数值,详情---请看postman传参out_datacollection out outData);end P_findAreaPage_pak;--程序包体create or replace package body P_findAreaPage_pakisprocedure P_findAreaPage(p_pagesize int,p_startsize int,jgdm varchar2,ywlx varchar2,jgmc varchar2,xzqhname varchar2,sDate varchar2,eDate varchar2,out_pagecount out int,--输出参数,调用的时候随便填写一个整数值--请看postman传参out_datacollection out outData)asv_sql varchar2(3000);v_count int;v_upCount int;v_lowCount int;v_where varchar2(3000):where 11;begin--拼接查询条件IF jgdm IS NOT NULL or jgdm THENv_where : v_where|| and t0.jgdm ||jgdm||;END IF;IF ywlx IS NOT NULL or ywlx THENv_where : v_where|| and t0.ywlx ||ywlx||;END IF;IF jgmc IS NOT NULL or jgmc THENv_where : v_where|| and t0.jgmc like %||jgmc||%;END IF;IF xzqhname IS NOT NULL or xzqhname THENv_where : v_where|| and t0.xzqhname like %||xzqhname||%;END IF;IF sDate IS NOT NULL or sDate THENv_where : v_where|| and t0.bzrq to_date(||sDate||,yyyy-mm-dd);END IF;IF eDate IS NOT NULL or eDate THENv_where : v_where|| and t0.bzrq to_date(||eDate||,yyyy-mm-dd);DBMS_OUTPUT.put_line(v_where);END IF;--获取页面总的记录数execute immediate select count(1)from AA t0 inner JOIN BB t1 on T0.BZJGDM T1.BZJGCODE || v_where into v_count;out_pagecount:v_count;--获取数据的上下限v_upCount:p_startsize*p_pagesize; --上限v_lowCount:v_upCount-p_pagesize1; --下限v_sql:select * from (select a.*,rownum r from (select nvl(substr(T1.BZJGNAME,4),||其它地方||) as name,count(1) as sumfrom AA t0 inner JOIN BB t1 on T0.BZJGDM T1.BZJGCODE || v_where || GROUP BY T1.BZJGNAME ORDER BY count(1) desc ) a where rownum ||to_char(v_upCount)||) Bwhere r||to_char(v_lowCount);DBMS_OUTPUT.put_line(v_sql);open out_datacollection for v_sql;end p_findAreaPage;end P_findAreaPage_pak;注意,我这里用到了两张表,你们可以自行新建两张表,将我的替换即可,附上建表语句3.建表语句,数据你们自行插入-- Create tablecreate table AA(jjhydmold VARCHAR2(10),orgid NUMBER(20),jgdm VARCHAR2(10),jgmc VARCHAR2(200),xzqhname VARCHAR2(100),bzrq DATE,bzjgdm VARCHAR2(9),fddbr VARCHAR2(200),zjlx VARCHAR2(100),zjhm VARCHAR2(25),jgdz VARCHAR2(200),yzbm VARCHAR2(10),dhhm VARCHAR2(42),zczj NUMBER(20,8),zch VARCHAR2(65),pzjgmc VARCHAR2(160),jyfw VARCHAR2(2000),pigetime DATE,ywlx VARCHAR2(50),zgrs NUMBER(20),rn NUMBER)-- Create tablecreate table BB(bzjgid NUMBER(10) not null,bzjgname VARCHAR2(100),bzjgcode VARCHAR2(100),bzjgjcname VARCHAR2(50),centerid NUMBER(10),centername VARCHAR2(50),centercode VARCHAR2(50),address VARCHAR2(150),tellphone VARCHAR2(50),leader VARCHAR2(50),mobilephone VARCHAR2(50),remark VARCHAR2(500),coltime DATE)4.Postman请求//请求url(Get或Post请求)localhost:9090/produce/findPageList//参数JSON{name:P_findAreaPage_pak.P_findAreaPage,reqList:[ 3, 1,,换证,武汉,,,2009-02-02,1222],resList:[name,sum]}//返回JSON{code: 0000,msg: success,data: [{name: 办证大厅,sum: 158},{name: 青山区,sum: 7},{name: 洪山区,sum: 7}],count: 202}注意reqList最后一个参数是一个输入输出参数,我们这里随便填写一个整数值即可,我这里填写的是:1222最后,附上的Java工具类//总共4个类//返回结果Datapublic class PageResultBeanextends AbstractResult implements Serializable{private static final long serialVersionUID 1L;/*** 分页数据,同layui接受的参数名一样* */private T data;/*** 记录总数,同layui接受的参数名一样* */private Integer count;public PageResultBean() {super();}/*** 构造函数* */public PageResultBean(T data,Integer count) {super();this.data data;this.count count;}/*** 构造函数* */public PageResultBean(IErrCode e) {super();this.msg e.getDesc();this.code e.getCode();}public PageResultBean(Throwable e) {super();this.msg e.toString();this.code SYSTEM_FAIL;}/*** 构造函数* */public PageResultBean(String code,String msg) {super();this.msg msg;this.code code;}}//返回结果Datapublic abstract class AbstractResult implements IResult{/**成功Code*/public static final String SUCCESS 0000;/**系统失败Code*/public static final String SYSTEM_FAIL 9999;/**检查失败Code*/public static final String CHECK_FAIL 9100;/**业务失败Code*/public static final String BIZ_FAIL 9200;public static final String HTTP_FILE5000;/**错误代码*/protected String code SUCCESS;/**错误信息*/protected String msg success;}//返回结果public interface IResult {}/*** 业务异常封装* author leiYao 2017-11-10* */Datapublic class BizException extends RuntimeException {private static final long serialVersionUID 1L;private String errorCode;public BizException() {}/*** 构造函数* */public BizException(String code,String message) {super(message);this.errorCode code;}/*** 构造函数* */public BizException(IErrCode e) {super(e.getDesc());this.errorCode e.getCode();}public BizException(Throwable cause) {super(cause);}public BizException(String message, Throwable cause) {super(message, cause);}public BizException(String message) {super(message);}}
http://www.pierceye.com/news/431920/

相关文章:

  • 百度云建站WordPress开发新客户的十大渠道
  • 南宁比优建站视屏网站的审核是怎么做的
  • 怎样建设尧都水果网站免费手机网站建站系统
  • 全网营销提供seo服务
  • 吕梁网站设计服务器网站建设维护合同
  • 网站轮播图片怎么做高校网站建设模板
  • 易语言做返利网站企业培训考试平台官网
  • 天津做不锈钢的网站做网站要几个部门组成
  • 宿迁集团网站建设用dw制作一个网站
  • 网站创建二级域名网络营销到底是个啥
  • 银州手机网站建设做网站前台模型要做什么呢
  • 做彩票网站推广网站建设培训方案
  • o2o网站建设多少钱昆山专业网站建设
  • c语言自学免费网站网站制作职业
  • 免费刷赞网站推广qq免费有哪些网页设计软件
  • 如何设计网站的首页做海鲜代理在什么网站
  • 网站分析的优劣势苏州网络推广企业
  • 威海网站建设公司施工企业成本核算方法
  • 网站群集约化建设cc域名做门户网站
  • 怎么看一个网站做的好不好北京企业网站推广
  • 网站后台访问权限设置静宁网站建设
  • 网站是什么时候开始的怎样做知道网站
  • 安丘做网站的有那个网站
  • 网站建设佰首选金手指六门户网站 解决方案
  • 怎么可以创建网站十大管理培训课程
  • 网络安全管理系统佛山厂家推广优化
  • 网站建设 外包是什么意思微信小程序低代码开发
  • 网站底部信息用js写法莱芜雪野湖有什么好玩的
  • 青岛高品质网站制作优化快速排名教程
  • 地产项目网站长沙建个网站一般需要多少钱