Hiberante链接查询的

 System.out.println("+++++++++++++++++++++++++++++++++++++内连接+++++++++++++++++++++++++++++++++++++++++++++");
        Configuration cfg=new Configuration().configure();
        SessionFactory sf=cfg.buildSessionFactory();
        Session session=sf.getCurrentSession();
        Transaction ts = session.beginTransaction();
        Query query = session.createQuery("select distinct d from  Dept d inner join d.emps");
        List<Dept> dept=query.list();
        for(Dept item : dept){
            System.out.println(item.getDname());
            for (Emp item1 : item.getEmps()){
                System.out.println(item1.getEname());
            }
        }
        System.out.println("+++++++++++++++++++++++++++++++++++++++迫切内连接+++++++++++++++++++++++++++++++++++++++++++");

         query = session.createQuery("select distinct d from  Dept d inner join fetch d.emps");
         dept=query.list();
        for(Dept item : dept){
            System.out.println(item.getDname());
            for (Emp item1 : item.getEmps()){
                System.out.println(item1.getEname());
            }
        }
        System.out.println("++++++++++++++++++++++++++++++++++++++++左外连接++++++++++++++++++++++++++++++++++++++++++");
        query = session.createQuery("select distinct d from  Dept d left outer join d.emps");
        dept=query.list();
        for(Dept item : dept){
            System.out.println(item.getDname());
            for (Emp item1 : item.getEmps()){
                System.out.println(item1.getEname());
            }
        }
        System.out.println("++++++++++++++++++++++++++++++++++++++++++迫切左外连接++++++++++++++++++++++++++++++++++++++++");
        query = session.createQuery("select distinct d from  Dept d left outer join fetch d.emps");
        dept=query.list();
        for(Dept item : dept){
            System.out.println(item.getDname());

        }
        System.out.println("++++++++++++++++++++++++++++++++++++++++++右外连接++++++++++++++++++++++++++++++++++++++++");
        query = session.createQuery("select distinct d from  Dept d right outer join d.emps");
        dept=query.list();
        for(Dept item : dept){
            System.out.println(item.getDname());
            for (Emp item1 : item.getEmps()){
                System.out.println(item1.getEname());
            }
        }
        System.out.println("++++++++++++++++++++++++++++++++++++++++++批量增加++++++++++++++++++++++++++++++++++++++++");
        session=sf.getCurrentSession();
        ts = session.beginTransaction();
        query = session.createQuery("insert into Dept(dname) Select d.dname from  Dept d ");
        query.executeUpdate();
        ts.commit();
//        System.out.println("++++++++++++++++++++++++++++++++++++++++++批量删除++++++++++++++++++++++++++++++++++++++++");
//        query = session.createQuery("delete from Dept d where d.did>2");
//        query.executeUpdate();
//        ts.commit();
        System.out.println("++++++++++++++++++++++++++++++++++++++++++批量修改++++++++++++++++++++++++++++++++++++++++");
        session=sf.getCurrentSession();
        ts = session.beginTransaction();
        query = session.createQuery("update  Dept d set d.dname='hah' where d.did>2");
        query.executeUpdate();
        ts.commit();
        System.out.println("++++++++++++++++++++++++++++++++++++++++++批量删除(sql)++++++++++++++++++++++++++++++++++++++++");
        session=sf.getCurrentSession();
        ts = session.beginTransaction();
        Work work=new Work() {
            @Override
            public void execute(Connection connection) throws SQLException {
                PreparedStatement preparedStatement = connection.prepareStatement("DELETE depts where did>?");
                preparedStatement.setObject(1,2);
                preparedStatement.executeUpdate();
            }
        };
        session.doWork(work);
        ts.commit();
    }

 

posted @ 2017-02-07 16:04  大头杀马特  阅读(184)  评论(0编辑  收藏  举报