• hibernate框架学习之多表查询helloworld


    package cn.itcast.h3.hql;
    
    import java.util.List;
    
    import org.hibernate.Query;
    import org.hibernate.Session;
    
    import cn.itcast.h3.hql.vo.StudentModel;
    import cn.itcast.h3.hql.vo.TeacherModel;
    import cn.itcast.h3.util.HibernateUtil;
    
    //多表查询
    public class MulHQLApp {
        //内连接
        void testMulInner(){
            Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("from TeacherModel tm inner join tm.students s");
            List<Object[]> queryList  = q.list();
            System.out.println(queryList.size());
            for(Object[] objs:queryList){
                for(Object obj:objs){
                    System.out.print(obj+"	");
                }
                System.out.println();
            }
            s.close();
        }
        //迫切内连接
        void testMulInner2(){
            Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("select DISTINCT  tm from TeacherModel tm inner join fetch tm.students s");
            List<Object> queryList  = q.list();
            System.out.println(queryList.size());
            for(Object obj:queryList){
                System.out.println(obj);
            }
            s.close();
        }
        //隐式内连接
        void testMulInner3(){
            Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("from TeacherModel");
            List<Object> queryList  = q.list();
            System.out.println(queryList.size());
            for(Object obj:queryList){
                System.out.println(obj);
            }
            s.close();
        }
        //左外连接
        void testMulOuter1(){
            Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("from TeacherModel tm left outer join tm.students s");
            List<Object[]> queryList  = q.list();
            System.out.println(queryList.size());
            for(Object[] objs:queryList){
                for(Object obj:objs){
                    System.out.print(obj+"	");
                }
                System.out.println();
            }
            s.close();
        }
        //迫切左外连接
        void testMulOuter2(){
            Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("from TeacherModel tm left outer join fetch tm.students s");
            List<Object> queryList  = q.list();
            System.out.println(queryList.size());
            for(Object obj:queryList){
                System.out.println(obj);
            }
            s.close();
        }
        //右外连接
        void testMulOuter3(){
            Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("from TeacherModel tm right outer join tm.students s");
            List<Object[]> queryList  = q.list();
            for(Object[] objs:queryList){
                for(Object obj:objs){
                    System.out.print(obj+"	");
                }
                System.out.println();
            }
            s.close();
        }
        void fn(){
            Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("from TeacherModel");
            List<TeacherModel> queryList  = q.list();
    //        System.out.println(((TeacherModel)queryList.get(0)[0]).getStudents());
    //        System.out.println(((StudentModel)queryList.get(0)[1]).getTeacher());
            System.out.println(queryList.get(0).getStudents());
            s.close();
        }
        void fn1(){
    Session s = HibernateUtil.getSession();
            
            Query q = s.createQuery("from TeacherModel tm right outer join tm.students s");
            List<Object[]> queryList  = q.list();
            System.out.println(((TeacherModel)queryList.get(35)[0]).getStudents());
    //        System.out.println(((StudentModel)queryList.get(0)[1]).getTeacher());
    //        System.out.println(queryList.get(30).getStudents().size());
            
            s.close();
        }
        public static void main(String[] args) {
            new MulHQLApp().fn1();
        }
    }
    /*
    List<Object> queryList  = q.list();
    for(Object obj:queryList){
        System.out.println(obj);
    }
    
    List<Object[]> queryList  = q.list();
            for(Object[] objs:queryList){
                for(Object obj:objs){
                    System.out.print(obj+"	");
                }
                System.out.println();
            }
    
    
    */
  • 相关阅读:
    iOS cannot find folder xcdatamodeld Xcode 7
    ios swift generator 文章推荐
    ios swift 2 新的OptionSetType使用方法
    Maven 教程(11)— Maven远程仓库的各种配置
    Maven 教程(10)— Maven依赖详解
    Maven 教程(9)— Maven坐标详解
    Maven设置MAVEN_OPTS环境变量
    Maven 教程(7)— Maven使用的最佳实践
    Maven 教程(6)— Maven之pom.xml文件简单说明
    Maven 教程(5)— Maven目录结构及常用命令说明
  • 原文地址:https://www.cnblogs.com/xyhero/p/9351721.html
Copyright © 2020-2023  润新知