比如从2011-01-04 :08:23:23开始,每隔一秒往数据库插入一条随机值(0-5)之间的随机数
这个也简单
[code="java"]
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(10)
executor.scheduleWithFixedDelay(
new Runnable() {
public void run() {
//随机数种子,这里用时间作为种子
Random random = new Random(System.currentTimeMillis);
//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和6(不包括)之间均匀分布的 int 值。
int value = random.nextInt(6);
insert(value);
}
}, 1, 1, TimUnit.SECOND
);
[/code]
如果 数据的的插入函数是insert(int value);
那么
[code="java"]
//随机数种子,这里用时间作为种子
Random random = new Random(System.currentTimeMillis);
//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和6(不包括)之间均匀分布的 int 值。
int value = random.nextInt(6);
insert(value);
[/code]
1.建立一个存储过程,插入一个随机值
create procdure XXXproc ()
begin
insert into Xtable(xField) values(rand())
end
这个一般用sqlserver管理器建个作业比较方面,sql写起来就比较麻烦,你可以查查资料,而且需要说明的事,使用作业必须得开启sql agent服务
我觉得存储过程比较靠谱,因为我数据库不太行,你可以参考楼上的过程。。我这个可能有潜在的问题(比如数据库时间和app时间不准),你可以参考上面的代码
每隔1s 执行一次,用java写,不是疯了吗?java用线程挂掉的几率很大,而且你想用java每隔1s调用下数据库,那是不可想象的灾难。
java写的确不好,但是1s调用下数据库就是灾难,mysql单节点每秒200个并发都能承受
[code="java"]
BEGIN
#Routine body goes here...
INSERT INTO t1(c1) VALUE(FLOOR(RAND()*6));
END
[/code]
写这样的一个存储过程。
在数据库中建立一个job,每隔一秒执行一次.而调用的存储过程或函数中可以实现.比用java方便多了,也省事.