hibernate笔记

public class TestHib {

    /**
     * 级联查询
     */
    /*
     * @Test public void manyToOne(){ Configuration conf = new
     * Configuration().configure(); SessionFactory sf =
     * conf.buildSessionFactory(); Session session = sf.openSession();
     * Transaction tranf = session.beginTransaction(); Blog blog = (Blog)
     * session.get(Blog.class, 1); System.out.println(blog.getTitle());
     * 
     * tranf.commit(); System.out.println("========");
     * System.out.println(blog.getAuthor().getUserName()); session.close();
     * 
     * }
     */

    // @Test
    public void manyToOne2() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        Author author = (Author) session.get(Author.class, 3);
        // Author author = new Author("hjhj","huhu");
        Transaction tranf = session.beginTransaction();
        Blog blog = new Blog(author, "中秋国庆重合", "放假8天", "八卦");
        session.save(blog);

        tranf.commit();
        session.close();
    }

    /*
     * @Test public void oneTomany(){ Configuration conf = new
     * Configuration().configure(); SessionFactory sf =
     * conf.buildSessionFactory(); Session session = sf.openSession(); //Author
     * author = (Author) session.get(Author.class, 3); Author author = new
     * Author("lubiao","lubiao"); Transaction tranf =
     * session.beginTransaction(); Blog blog1 = new
     * Blog(author,"中秋国庆重合","放假8天","八卦"); Blog blog2 = new
     * Blog(author,"中秋国庆重合","放假8天","八卦"); author.getBlogs().add(blog1);
     * author.getBlogs().add(blog2); session.save(author); tranf.commit();
     * session.close();
     * 
     * }
     */

    /**
     * 级联删除
     */
    /*
     * @Test public void oneTomany2(){ Configuration conf = new
     * Configuration().configure(); SessionFactory sf =
     * conf.buildSessionFactory(); Session session = sf.openSession(); Author
     * author = (Author) session.get(Author.class, 16); //Author author = new
     * Author("lubiao","lubiao"); Transaction tranf =
     * session.beginTransaction(); session.delete(author); tranf.commit();
     * session.close();
     * 
     * }
     */

    /**
     * session缓存
     */
    /*
     * @Test public void oneTomany3(){ Configuration conf = new
     * Configuration().configure(); SessionFactory sf =
     * conf.buildSessionFactory(); Session session = sf.openSession(); //Author
     * author = (Author) session.get(Author.class, 16); Author author = new
     * Author("test","test"); Transaction tranf = session.beginTransaction();
     * session.save(author); session.clear(); Author author2 = (Author)
     * session.get(Author.class, author.getId());
     * System.out.println(author2.getPassword()); tranf.commit();
     * session.close();
     * 
     * }
     */

    /**
     * 延时加载
     */
    // @Test
    public void oneTomany4() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        Author author = (Author) session.get(Author.class, 1);
        // Author author = (Author) session.load(Author.class,
        // 1);//懒加载lazy=“false”
        session.close();

    }

    /**
     * HQL查询对象
     */

    // @Test
    public void querySelect() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        // 1
        /*
         * String hql =
         * "from Author where userName=:name and password=:password"; Query
         * query = session.createQuery(sql); query.setString("name", "lubiao");
         * query.setString("password", "lubiao");
         */
        // 2
        String hql = "from Author where userName=? and password=?";
        Query query = session.createQuery(hql);
        query.setString(0, "lubiao");
        query.setString(1, "lubiao");
        List<Author> alist = query.list();
        for (Author author : alist) {
            System.out.println(author.getId() + "  " + author.getUserName());
        }
        session.close();
    }

    /**
     * HQL删除
     */
    // @Test
    public void queryDelete() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        Transaction tranf = session.beginTransaction();
        String hql = "delete Author where id=?";
        Query query = session.createQuery(hql);
        query.setInteger(0, 21);
        int row = query.executeUpdate();
        System.out.println(row);
        tranf.commit();
        session.close();
    }

    /**
     * HQL模糊查询
     */
    // @Test
    public void mohuget() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        String hql = "from Author where userName like ? order by id desc";
        Query query = session.createQuery(hql);
        query.setString(0, "%s%");
        List<Author> alist = query.list();
        for (Author author : alist) {
            System.out.println(author.getId() + "  " + author.getUserName());
        }
        session.close();
    }

    /**
     * HQL分组查询
     */
    // @Test
    public void group() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        String hql = "select userName ,count(*) from Author group by userName order by count(*) desc";
        Query query = session.createQuery(hql);
        List<Object[]> alist = query.list();
        for (Object[] author : alist) {
            System.out.println(author[0] + "  " + author[1]);
        }
        session.close();
    }

    /**
     * HQL分页查询
     */
    // @Test
    public void page() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        String hql = "from Author";
        Query query = session.createQuery(hql);
        query.setFirstResult(0);
        query.setMaxResults(5);
        List<Author> alist = query.list();
        for (Author author : alist) {
            System.out.println(author.getId() + "  " + author.getUserName());
        }
        session.close();
    }

    /**
     * HQL连接查询
     */
    //@Test
    public void join() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        String hql = "from Author a left join a.blogs";
        Query query = session.createQuery(hql);
        List<Object[]> alist = query.list();
        for (Object[] author : alist) {
            Author a = (Author) author[0];
            Blog b = (Blog) author[1];
            if (a != null) {
                System.out.print(a.getUserName());
            }
            if (b != null) {
                System.out.print(" : "+b.getTitle());
            }
            System.out.println();
        }
        session.close();
    }


    /**
     * HQL子查询
     */
    //@Test
    public void zichaxun() {
        Configuration conf = new Configuration().configure();
        SessionFactory sf = conf.buildSessionFactory();
        Session session = sf.openSession();
        String hql = "from Author a where (select count(*) from a.blogs)=2";
        Query query = session.createQuery(hql);
        List<Author> alist = query.list();
        for (Author author : alist) {
            System.out.println(author.getId() + "  " + author.getUserName());
        }
        session.close();
    }

    /**
     * QBC检索
     */
    @Test
    public void criteriaTest(){
//      Configuration conf = new Configuration().configure();
//      SessionFactory sf = conf.buildSessionFactory();
//      Session session = sf.openSession();
        Session session = HibernateUtil.getSession();
        //创建对象
        Criteria ct = session.createCriteria(Author.class);
        //创建条件
        Criterion c1 = Restrictions.like("userName","%s%");
        Criterion c2 = Restrictions.eq("password","123");
        //添加条件
        ct.add(c1);
        ct.add(c2);
        //执行
        List<Author> alist = ct.list();
        for(Author author:alist){
            System.out.println(author.getUserName()+":"+author.getPassword());
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值