银保项目总结2014.8.22

自我分析见证自己的成长..

银保项目总结:

1.开发前没有系统的分析所有的流程

2.思考问题思路不清晰

3.很多东西忘记了,导致效率底下,开发工具使用,不熟悉

学习技巧:

一旦有一个操作,就要分析操作的所有流程;

所有的web项目都是

1.验证数据

2.清除数据

3.获值(jquery)

4.传入后台(form表单,ajax,a标签href,action)

5.后台处理传入数据库

6.数据库db操作函数,复用select_paramIndex_returnParam

7.传值(out.print())

8.显示

以上步骤全部基于:操作

1.每一个操作,都要分析每一种可能

2.非法操作(前台),失败操作(后台),成功操作(后台)

JQUERY

对JQUERY的理解 都是通过先地位,再筛选,然后改变状态

$("#parentid child[attr=attrValue]")

.attr("attrName","attrValue)

.css("cssName","cssValue")

.html("htmlValue");

JQUERY AJAX JSON知识

1.jquery.js,json.js,json6个包

2.前台格式

前台

$.ajax({

url:"test.action",

data:{name:zhangsan,age:20}   //注意

type:"post",

dataType:"json",

success:function(msg){

$.each(msg,function(idx,item){

//... idx遍历数,item当前遍历信息;

})

}

})

3.后台格式

后台

responsesetContentType("text/javascript;charset=gbk");      //注意

//单个

out.print(JSONObject.fromObject("{name:‘zhangsan‘,age:‘20‘}").toString());    //注意

//数组

ArrayList<String> list =new ArrayList<String>();

list.add("{name:‘zhangsan‘,age:‘20‘}");

list.add("{name:‘lisi‘,age:‘21‘}");

out.print(JOSNArray.fromObject(list).toString());         //注意

ajax加载数据过大几千条,在IE9中渲染就会变慢 chrome一般在1s左右

$("#table").html()>js>jquery 渲染速度

1.多用id选择器,少用class,用tagName

2.多用链式操作

3.先绑定后插入

$.ajax({

url:"test.action",

data:{name:zhangsan,age:20}

type:"post",

dataType:"json",

success:function(msg){

$.each(msg,function(idx,item){

var htmlstr = "<tr><td>"+item.name+"</td><td>"+item.age+"</td><td>"+item.hobbit+"</td><td>"+item.height+"</td></tr>";

$("#table").html(htmlstr);

})

}

})

JQUERY获值

$("#select").val();

$("#select option:selected").text();

$("#select").get(0).selectedIndex;

$("#select").val("zhangsan");

$("#select option[text=abc]").attr("selected",true);

//$("#checkbox_parent").change(function(){  相同效果

$("#checkbox_parent").click(function(){

//$("#checkbox_child").attr("checked",true);  //全选

//$("#checkbox_child").attr("checked",false);  //全不选

//$(":checkbox[id=checkbox_child]").attr("checked",$("#checkbox_parent").attr("checked"));  //同步选

//$(":checkbox[id=checkbox_child]").attr("checked",!$(":checkbox[id=checkbox_child]").attr("checked"));  //不同步选

//$(":checkbox[id=checkbox_child]").each(function(){;          //反选

//   $(this).attr("checked",!$(this).attr("checked"));

//})

//$(":checkbox[id=checkbox_child]:checked").each(function(){ alert($(this).attr("value")); })//选中的值

$(":checkbox[id=checkbox_child]").each(function(){ if($(this).attr("checked")==false) alert($(this).attr("value")); })//没选中的值

})

当checkbox有多组时

一个checkbox_parent 和 多个checkbox_child

用$("#checkbox_child")只能获得第一个数据

因为document.getElementById()返回的是单个数据

$(":checkbox[id=checkbox_child]")返回checkbox中所有的id=checkbox_child的数据

使用的是getElementByTagName()返回多个数据;

$.each(function(){

$(this)   //当前下标对象;

})

小知识:

1.end() 返回上一个操作的元素

2.find()查找子元素

3. .each()中的中断    break  continue 用一下替代

return false; -->break;

return true; -->continue;

java正则

Pattern.matches(reg,str);

*-->0

+-->1

一个很方便的验证

//  var reg = /[^0-9]+/g;

function vali(obj,reg){

var v = $(obj).val();

if(reg.test(v)){

$(obj).val(v.replace(reg,""));

}

}

informix数据库

1.select skip M first N name from student;  //分页  M跳过M个数据,取后面N个数据;

2.分组的另一种方法

select name,age from student s1 where name in   //按班级分组得到每个班的人姓名;

(select name from student where class = s1.class );

3.存储过程

------------基本-----

drop procedure pro_test1(int);

create procedure pro_test1(var_num int)

returning int;

define temp1 int;

let temp1=9;

return temp1;

end procedure;

-------------带有查询 返回值

--drop procedure pro_test(char(50));     -- SHZ31405

--create procedure pro_test(var_num char(50))

--returning char(30);

--define temp1 char(30);

--select  username into temp1  from shz_appusers where userid= var_num ;

--return temp1;

--end procedure;

execute procedure pro_test(‘SHZ31405‘);

------------------------插入操作-不返回值---------

drop procedure pro_insert(char(30));

create procedure pro_insert(var_num char(30))

define temp_i

insert into shz_appusers(username) values (var_num);

--updata from shz_appusers set userid=‘1‘ where username=var_num;

end procedure;

------------------

--------条件----------

IF ( condition ) THEN

statements

ELIF ( condition ) THEN

statements

ELSE

statements

END IF;

--------实例---

drop procedure pro_if(int);

create procedure pro_if(var_if int)

returning char(30);

define result_if char(30);

if var_if = 0 then

let result_if = ‘success!‘;

elif var_if = 1 then

let result_if = ‘failed!‘;

else

let result_if = ‘nofind‘;

end if

return result_if;

end procedure;

execute procedure pro_if(10);

--foreach------------

FOREACH SELECT salary INTO ind_sal

FROM customer

WHERE location = “UK"

sum_sal += ind_sal;

END FOREACH;

RETRUN sum_sal;       6)continue或exit语句

都可以被使用在for、foreach和while循环语句中。

参考实例如下:

FOR i = 1 TO 5

LET j = i;

WHILE (j > 0)

LET id = foo(j);

IF (id = 5) THEN

LET j = j – 1;

CONTINUE WHILE; -- 不执行后续的操作,继续回到while循环接着执行

END IF;

LET sum = sum + 5;

LET j = j – 1;

IF (sum > 500) THEN

EXIT FOR; -- 退出for循环

END IF;

END WHILE;

END FOR;

RETURN sum;

--------实例---

drop procedure pro_foreach;

create procedure pro_foreach(var_foreah int)

returning char(30),char(50);

define un char(30);

define ui char(50);

foreach select username,userid into un,ui  from shz_appusers where userid = var_foreach

end foreach;

end procedure;

------while循环------

WHILE (条件表达式)

执行的语句

END WHILE;      while中的条件表达式的举例如下:

WHILE (count < 20)

WHILE (status matches "A*")

WHILE (EXISTS (SELECT name FROM customer WHERE cus_num=100))

WHILE (status IN ("A", "I", "D"))

--------实例---

drop procedure pro_while(int);

create procedure pro_while(var_while int)

returning int;

define idx int;

let idx=1;

while var_while < 100

let idx=idx+1;

let var_while=var_while+1;

end while;

return idx;

end procedure;

execute procedure pro_while(10);

--循环-for----

FOR count = 2 TO 30

FOR count = 2 TO 30 STEP 2

FOR count IN ( 2, 5, 7, 9)

FOR count IN ( 2 to 8 STEP 2, 12 to 19, 22)

FOR name IN ("AMY", "MAX",

(SELECT name FROM customer WHERE customer_num = 100) )

--------实例---

drop procedure pro_for(int);

create procedure pro_for(var_i int)

returning int;

define i int;

for i=1 to 10

let var_i=var_i+1;

end for

return var_i;

end procedure;

execute procedure pro_for(10);

---------------返回多行值  游标---------------------------------

drop procedure pro_dele;

create procedure pro_dele()

define p_time date;

begin work;

foreach curl for

--update游标必须命名

select time_stamp into p_time from pro_dele_tbl

where num > 100

if p_time is not null then

delete from pro_del_tbl where current of curl;

--删除当前记录

end if;

end foreach;

commit work;

--所有修改记录的锁被释放。

end procedure;

---------------返回多行值with resume---------------------------------

drop procedure count_add;--删除存储过程

create procedure count_add(user_name_var varchar(50) default ‘administrator‘)

--user_name_var传递参数变量在此定义

returning varchar(50);

--返回一个字符型的值

define error_count_var integer;

----定义输入的次数变量

select error_count into error_count_var from users where user_name=user_name_var;

----error_count默认是0,从0开始记数

let error_count_var=error_count_var+1;

----输入一次记数加1

update users set error_count= error_count_var where user_name =user_name_var ;

return user_name_var;

--返回变量值,与returning对应。

return user_name_var WITH  RESUME;

----将保证存储过程继续执行,所有的变量均保持原有的值

end procedure

时间: 2024-08-06 16:05:28

银保项目总结2014.8.22的相关文章

2014/08/22 – SVG

一.项目功能需求:将 HTML 中 span 元素集合映射成 SVG 格式文件. 参数: span 的绝对定位坐标和 transform 的集合,贝塞尔曲线的锚点绝对定位坐标和控制点绝对定位坐标(根据曲线路径绘制 span ),span 集合父容器的宽度和高度. 输出: svg 的字符串形式. 二.知识点:由于涉及到 css 的 transform 样式,所以会用 Matrix 的相关理论知识. 1. 沿着路径变化的文字: svg 中提供了 <textPath> 元素来产生文字沿着某条事先定义

【2014.6.22】

这几天一直在看世界杯,看到很多同学压钱,就跟着压了,(当然是看到可以天上掉馅饼才……). 这几天的钱就像流水似的往外流(虽然没那么夸张). 不过让我再次体会到了 永远期待美好的事情发生,但不要期望天上掉馅饼,no pains,no  gains. [2014.6.22],布布扣,bubuko.com

[2014.5.22][UBUNTU]Ubuntu与Windows系统时间不同步的问题

安装Ubuntu+Windows双系统时会遇到Windows和Ubuntu系统时间不同步的问题,这是因为Windows系统默认读取主板bios等硬件系统时间作为OS的当地时间;而MAc,Linux类的OS以主板bios等硬件系统时间作为UTC时间,然后操作系统的时间以UTC为标准按照使用者的时区设置加加减减.这就造成了中国用户会出现一个很有趣的现象:Ubuntu上的时间会比windows上的快8小时(至于是怎么算的 请童鞋自己掰手指头;是不是寓意Ubuntu快windows一筹?). 解决这个问

银保通

请求地址:核心测试环境 您调的是 0101030117  这个接口,  借款人人身意外伤害险申核, 60秒超时 <spring:bean id="bankInsurance2V5"            class="com.isoftstone.core.service.common.impl.ConnectToV5ByXmlImpl">            <spring:property name="svrnIp">

Wikioi上的C语言试题分析【2014.7.22】

Question [1] 题目描述 Description 输入两个整数A和B,输出他们的和 输入描述 Input Description 输入为一行,包含两个整数A,B.数据保证A与B都在2^31-1的范围内 输出描述 Output Description 输入A与B的和,数据保证A与B的和在2^31-1的范围内 样例输入 Sample Input 1 3 样例输出 Sample Output 4 pass code: #include <stdio.h> int main() { int

铁科院医保项目第一版測试

短短的一个多月的时间已经做出来一个简单版本号.能够完毕基本的医保流程.当中加上十月一以及周六日放假等,实际上做项目的时间也就是一个月的时间.这个系统是一个大的综合系统.我们做的仅仅是里面的一个小的子系统,到眼下为止这个系统能够执行了,里面一些关于统计分析.数据图等补充的内容没有加入外已经都昨晚.可能还会再第二版中把这些功能做上. 系统尽管已经提交測试.能够执行可是在做项目的还是有非常多感悟的,这个项目是从前期数据库设计到代码实现都參与了进来.考虑着哪里easy出问题怎么设计等等.有些问题非常ea

铁科院医保项目第一版测试

短短的一个多月的时间已经做出来一个简单版本,可以完成主要的医保流程,其中加上十月一以及周六日放假等,实际上做项目的时间也就是一个月的时间,这个系统是一个大的综合系统,我们做的只是里面的一个小的子系统,到目前为止这个系统可以运行了,里面一些关于统计分析.数据图等补充的内容没有添加外已经都昨晚,可能还会再第二版中把这些功能做上. 系统虽然已经提交测试,可以运行但是在做项目的还是有很多感悟的,这个项目是从前期数据库设计到代码实现都参与了进来,考虑着哪里容易出问题怎么设计等等.有些问题很简单却值得我们在

回忆丶Java阶段收银系统项目总结

通过收银系统项目设计,对JAVA知识比以前有了进一步的了解.在做项目之前很迷茫,不知道从哪里入手.但是慢慢发现就有了感觉,把以前的知识点综合运用起来,对自己提升了不少.今后还要加强各方面的训练. 一路学到现在,刚开始踏入新博时候,感觉自己好差劲,甚至怀疑自己.不过压力越大动力就越大,坚持就能笑到最后.JAVA虽然枯燥.寂寞,但是就像人生一样,要成功,必经风雨,耐得住寂寞,经得起打磨,才能在未来的路上走向成功. 人活一世,无论你达到一个什么层次,拥有一颗感恩的心才是最重要的,这世界上,没人有义务要

2014.8.22我大一的线性代数学习

我的大一的线性代数:借此怀念一下我大一的线性代数的学习 一.扯扯虚的 进入大一,学的是计算机专业,说是计算机专业,不过看看大一的课程,就是各种数学,其中就有线性代数. 线性代数上课,最重要的就是讲怎么学数学,嗯,就是讲故事!!第一节课是说"兵法"和"剑法".剑法是什么,是"一人敌",再怎么练只能是一个人打,威力很小:"兵法"是"万人敌",学习"兵法",统兵打仗,能改变大局."兵