那么就先用rownum确定每行的号码,然后用每行的号码除以5,取余数,余数为1,2,3,4,0中你可以取任何一个,这样就等于是每个5个取一行了。
至于没有rownum的数据库,那么可能要通过id什么的来取了。
可能还有其他方式方法,不过暂时我还没有想到。
package com.lvjj.entityimport java.util.Date
import java.util.TimerTask
public class WrongTimerTask extends TimerTask {
private Date start //开始时间
public Date getStart() {
return start
}
public void setStart(Date start) {
this.start = start
}
public void run() {
//调用Dao层
if (true) {//DAO层满足条件
this.cancel()
}
Date d = new Date()//当前时间
try {
long t = d.getTime()- start.getTime() //当前时间减去开始时间
if(t==120000)//2分钟
this.cancel()//退出
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
------------------------上面是定时器类
package com.lvjj.main
import java.util.Date
import java.util.Timer
import com.lvjj.entity.WrongTimerTask
public class Time {
/**
* @param args
*/
public static void main(String[] args) {
try {
WrongTimerTask task = new WrongTimerTask()
Timer timer = new Timer("TestTimer")
task.setStart(new Date())
timer.scheduleAtFixedRate(task, 0, 1000)
} catch (Exception e) {
e.printStackTrace()
}
}
}
-----------------------上面是测试执行类
你只要把定时器类的调用DAO层方法和Dao层满足的条件改一下就可以了
UPDATE t SET size = (size+2) DIV 5*5 WHERE size !=99或者
UPDATE t SET size = FLOOR((size+2)/5)*5 WHERE size !=99
经测试通过。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)