工作总结(1106)

工作总结(1106)

1、在进行数据库表跟JavaBean进行Hibernate映射配置的时候,有个地方得注意,ID(主键)的生成策略,数据库采用Oracle,*.hbm.xml<generator></generator>Sequence进行配置的时候,ID增长采取sequence的时候,sequence名必须是数据库中有的,不能自己随便写。换句话说,sequence必须事先已经在数据库中建好才能在配置的时候进行引用。

2、ID(主键)采用sequence增长的时候,在插入数据的时候不能指定ID,否则会插不进去,也不会提示任何错误信息,这个在读取excel表格内容插入数据库中的时候,碰到这个莫知名的错误。结果是在插入的时候画蛇添足的插入了ID,导致数据插入不进去。


工作总结(1112)

3、在spring的工作调度机制中自己摸索总结的经验:所谓的schedule就是自定义的时间调度器,自己可以在某个时刻系统自动的调用执行。

第一步:先得定义一个任务调度器(scheduler)

  • <beanclass="org.springframework.scheduling.quartz.SchedulerFactoryBean">

  • <!-- 接受一组触发器,可以接受一个列表 -->

  • <propertyname="triggers">

    • <list>

      • <ref bean="simplerTrigger"/>

    • </list>

  • </property>

  • </bean>

第二步 :定义触发器trigger

  • <bean id="simplerTrigger"

  • class="org.springframework.scheduling.quartz.SimpleTriggerBean">

    • <property name="jobDetail" ref="newJob"></property>

    • <property name="startDelay" value="1000"></property>

    • <property name="repeatInterval" value="1000"></property>

    • <property name="cronExpression" value="0 0 1 1 * ?"></property>

  • </bean>


第三步:JobDetail的定义

  • <bean id="newJob"

  • class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

    • <propertyname="targetObject" ref="myQuartz"></property>

    • <propertyname="targetMethod" value="hello"></property>

  • </bean>

第四步:需要执行的任务bean

<bean id="myQuartz" class="com.myspring.quartz.MyQuartz"></bean>

cronExpression配置说明


字段
允许值
允许的特殊字符

0-59
, - * /

0-59
, - * /
小时
0-23
, - * /
日期
1-31
, - * ? / L W C
月份
1-12 或者 JAN-DEC
, - * /
星期
1-7 或者 SUN-SAT
, - * ? / L C #
年(可选)
留空, 1970-2099
, - * /
表达式
意义
"0 0 12 * * ?"
每天中午12点触发
"0 15 10 ? * *"
每天上午10:15触发
"0 15 10 * * ?"
每天上午10:15触发
"0 15 10 * * ? *"
每天上午10:15触发
"0 15 10 * * ? 2005"
2005年的每天上午10:15触发
"0 * 14 * * ?"
在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?"
在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?"
在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?"
在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED"
每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI"
周一至周五的上午10:15触发
"0 15 10 15 * ?"
每月15日上午10:15触发
"0 15 10 L * ?"
每月最后一日的上午10:15触发
"0 15 10 ? * 6L"
每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005"
2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3"
每月的第三个星期五上午10:15触发


特殊字符
意义
*
表示所有值;
?
表示未说明的值,即不关心它为何值;
-
表示一个指定的范围;
,
表示附加一个可能值;
/
符号前表示开始时间,符号后表示每次递增的值;
L("last")
("last") "L" 用在day-of-month字段意思是 "这个月最后一天";用在 day-of-week字段, 它简单意思是 "7" or "SAT"。如果在day-of-week字段里和数字联合使用,它的意思就是 "这个月的最后一个星期几" �C 例如: "6L" means "这个月的最后一个星期五". 当我们用“L”时,不指明一个列表值或者范围是很重要的,不然的话,我们会得到一些意想不到的结果。
W("weekday")
只能用在day-of-month字段。用来描叙最接近指定天的工作日(周一到周五)。例如:在day-of-month字段用“15W”指“最接近这个月第15天的工作日”,即如果这个月第15天是周六,那么触发器将会在这个月第14天即周五触发;如果这个月第15天是周日,那么触发器将会在这个月第16 天即周一触发;如果这个月第15天是周二,那么就在触发器这天触发。注意一点:这个用法只会在当前月计算值,不会越过当前月。“W”字符仅能在day- of-month指明一天,不能是一个范围或列表。也可以用“LW”来指定这个月的最后一个工作日。
#
只能用在day-of-week字段。用来指定这个月的第几个周几。例:在day-of-week字段用"6#3"指这个月第3个周五(6指周五,3指第3个)。如果指定的日期不存在,触发器就不会触发。
C
指和calendar联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。

在MONTH和Day Of Week字段里对字母大小写不敏感




4、Web提高系统运行速度、效率

方法之一:就是一些需要反复去数据库获取的数据,频繁跟数据库交互的,可以在系统启动的时候,Web启动监听器(ContextLoader)事先加载到内存中,这样每次就可以直接去内存中获取。并且每次取的的时候,都可以判断一下,内存中是不是存在,如果不存在则再次去获取,存入内存中。


工作总结 (1121)

  5.在做基于jQuery页面项目的时候,命名特别重要。在做项目之前,先排版、然后做一个小文档将页面的元素名称事先命名好,然后再写到项目中。在写方法的时候,要注意找出一些共性的东西、重复性的东西。提高效率,完成项目!

工作总结 (1208)

  6.还是关于Jquery方面的经验总结,在写画面校验的时候,一些必填元素,通常在label后面会添加一个红色的小星号(<font red>*</font>)来给用户做提示,在校验的时候,对这些必填选项,完全可以通过jQuery里面的一些函数查找到所有的一个$("font:contains('*')").each()来进行查找。这样子做更加简洁、明了。不用再每个选项的写进行非空校验。


工作总结 (1214)

  7.在Jquery mobile的项目开发中,遇到过一种case就是A->B,B返回到A的时候,A的操作数据保留。项目中采取的做法是,将此页面的内容定义为一个Json对象,将此对象放置在内存里,下次直接去session中取就可以了。



你可能感兴趣的:(java,工作总结)