您的位置:首页 > 编程语言 > Java开发

对于java初学者容易犯错误的地方,jdbc操作数据库

2012-04-19 15:10 435 查看
2012年4月16日这周,我开始我的第二次作业。虽然是两个简单的任务。

一、写一个同步,同步两个数据库的数据。

比较数据出多余的数据,再用for循环,将多余数据插入或者删除。

List<Integer> list=sd.otfindStaff();

List<Integer> fs = sd.findStaff();

System.out.println("考试系统数据:"+list.size());

System.out.println("考勤系统数据"+fs.size());

List<Integer> otherList = new ArrayList<Integer>();

otherList.addAll(fs);

otherList.removeAll(list);

System.out.println("考勤系统有,考试系统没有 差"+otherList.size());

其中遇到问题:数据插入多条时候,出现Connection自动断开,原因:因为代码中出现频繁的打开关闭,这提醒我们在写连接时要注意连接池,把我们的逻辑理清楚

才能避免不必要的麻烦。

二、写一个考试报表的查询,首先写出Sql语句,遇到问题:写一步运行一步,看有没有错,保证思路的正确。

private static List<DeptInfo> findDept() {

String sql="select DEPARTMENTID,DEMPARTMENTNAME from department order by DEPARTMENTID";

List<DeptInfo> list =new ArrayList<DeptInfo>();

try {

psmt=conn.prepareStatement(sql);

rs=psmt.executeQuery(sql);

while(rs.next()){

DeptInfo di=new DeptInfo();//这个初始化位置很重要,如果放在while外层的话,导致数据会是一种

String dept_id=rs.getString(1);

String dept_name=rs.getString(2);

di.setDept_id(Integer.parseInt(dept_id));

di.setDept_name(dept_name);

//System.out.println(Integer.parseInt(dept_id)+":"+dept_name);

list.add(di);

}

System.out.println("--------------------");

rs.close();

psmt.close();

} catch (SQLException e) {

e.printStackTrace();

}

return list;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: