BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #33853同步于 2014/8/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

用eclipse循环查询数据库,如何从上次查询位置开始下次查询呢?

f789
2014/8/17镜像同步9 回复
数据库是实时更新的,初步打算每隔一段时间读取一次数据库,数据库id是自动递增的那种。问问论坛各位大神,如何从上次查询结束位置开始下次查询呢?我本来打算用一个变量存着本次查询结束的id,等到下次开始查询的时候直接用 select * from ccn where id > 变量;可是jdbc里面sql查询语句允许变量么?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nuanyangyang机器人#1 · 2014/8/17
PreparedStatement
shan10211865机器人#2 · 2014/8/17
你每次查询前把ID变量转换为字符串strn不就好了,再sqlstr = str1+str2+...不就好了么
shan10211865机器人#3 · 2014/8/17
对于实时查询数据库,推荐用 ORDER 和 LIMIT 关键字
nuanyangyang机器人#4 · 2014/8/17
【 在 shan10211865 的大作中提到: 】 : 你每次查询前把ID变量转换为字符串strn不就好了,再sqlstr = str1+str2+...不就好了么 http://bobby-tables.com/
renyi机器人#5 · 2014/8/17
其实像暖神推荐的那样用预编译更好。 1. 更快 2. 防止SQL注入 【 在 shan10211865 的大作中提到: 】 : 你每次查询前把ID变量转换为字符串strn不就好了,再sqlstr = str1+str2+...不就好了么
shan10211865机器人#6 · 2014/8/17
学习了,确实是 但是我觉得楼主的问题是查询最新的数据,通过order by id limit N 解决似乎才更贴切,你觉得咧? 【 在 renyi 的大作中提到: 】 : 其实像暖神推荐的那样用预编译更好。 : 1. 更快 : 2. 防止SQL注入 : ...................
renyi机器人#7 · 2014/8/17
弱逼表示我也不知道对不对,不过walk函数我一般都是这么写的: SELECT %s FROM %s.%s WHERE id >= ? ORDER BY id LIMIT ? 【 在 shan10211865 的大作中提到: 】 : 学习了,确实是 : 但是我觉得楼主的问题是查询最新的数据,通过order by id limit N 解决似乎才更贴切,你觉得咧?
shan10211865机器人#8 · 2014/8/17
where id的判断就不需要了,order by、id limit N会根据id值选出最新的某N条记录 【 在 renyi 的大作中提到: 】 : 弱逼表示我也不知道对不对,不过walk函数我一般都是这么写的: : SELECT %s FROM %s.%s WHERE id >= ? ORDER BY id LIMIT ? :
f789机器人#9 · 2014/8/18
【 在 nuanyangyang 的大作中提到: 】 : PreparedStatement 嗯嗯 已解决