jdbc 多表查询

来源:互联网 发布:淘宝开店手机认证流程 编辑:程序博客网 时间:2024/06/06 01:41
//保存部门基本信息String sql="insert into department(id,name) values(?,?)";Object params[]={department.getId(),department.getName()};System.out.println(Arrays.toString(params));qr.update(sql, params);//保存员工信息 含部门的idSet<Employee> emps=department.getEmployees();sql="insert into employee(id,name,salary,department_id) values(?,?,?,?)";Object ps[][]=new Object[emps.size()][];int i=0;for(Employee e:emps){ps[i]=new Object[]{e.getId(),e.getName(),e.getSalary(),department.getId()};i++;}qr.batch(sql, ps);}catch(Exception e){throw new RuntimeException(e);}}public Department getById(String id,Boolean lazy){try{String sql="select * from department where id=?";Object params=id;Department dept=qr.query(sql,new BeanHandler(Department.class), params);//查询员工信息if(lazy){sql="select id from employee where department_id=?";}else{sql="select * from employee where department_id=?";}List emps=qr.query(sql, new BeanListHandler(Employee.class), params);dept.getEmployees().addAll(emps);return dept;}catch(Exception e){throw new RuntimeException(e);}}public Department getById2(String id){//查部门基本信息 还有查员工信息try{String sql="select * from department where id=?";Object params=id;Department dept=qr.query(sql, new BeanHandler(Department.class), params);//查询departmen_id为 id的员工信息sql="select * from employee where department_id=?";List emps=qr.query(sql,new BeanListHandler(Employee.class), params);dept.getEmployees().addAll(emps);return dept;}catch(Exception e){throw new RuntimeException(e);}

原创粉丝点击