数据库中的这张表内大概有200万个数据,查询到的结果在10000至50000个之间,查询的代码如下:
/**
*
* @param gameName 游戏名称
* @param time 此时间之后的数据
* @param tim 允许最后一把与最低相差的把数
* @return 符合最后一把与最低把相差不大的统计数据
*/
public static ArrayList<Count> query28DoubleAlterCount(String gameName, int up){
ArrayList<Count> list = new ArrayList<Count>();
try{
int i = 0;
List<Count> coun;
CountDAO countdao = new CountDAO();
Session session = countdao.getSession();
GameResults grs = new GameResults(gameName);
do{
//分批查询
coun = countdao.findByPropertyLimit("gameName", gameName, 200000 * i + 1, 200000 * (i + 1));
i++;
for (int j = 0; j < coun.size(); j++){
Count count = coun.get(j);
if (count.getContinu() != null && count.getContinu().compareTo(Common.getTime(24)) > 0 && grs.isUp(count, up)){
list.add(count.clone());
}
}
list.trimToSize();
session.clear();
}while(coun.size() > 0);
list.trimToSize();
}catch(Exception e){
JOptionPane.showMessageDialog(null, "程序错误");
}
return list;
}
其它的查询结果较少的程序完全没有问题。
你所说的可执行文件,就是jar包吗?
自己生成的jar文件,执行需要指明所依赖的其他lib包,建议查下,如何配置。应该是你的程序的运行时没有指定依赖包。
大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口。导入mysql的驱动包了, 否则在myeclipe上运行不了吧。
追答我的意思是你生成执行文件的时候没有导入驱动包,你生成的执行文件里面没有驱动包的话,没法连上数据库
追问其它的查询结果较少的程序能查询到结果并能在java的表格中显示, 说明是能连上的。
追答有什么具体的错误提示吗?
追问在eclipse上是能查询到结果的,但一生成可执行文件运行时,这个程序就查不到结果,在eclipe上没有显示有错误。上述中的对话框也没有弹出。
追答这个就不清楚了。
追问我的程序是:一按按钮, 直到这个程序结束才能按别的按钮的, 不知道和这个有没有关系。
追答不清楚 没遇到过这个问题 你再问问其他人吧