您的位置:首页 > 产品设计 > UI/UE

hibernate3 实现查询的多种方法

2005-10-22 13:01 525 查看
    public void testGetOne() throws Exception {
        Query query = session.createQuery("from CD where title=? and artist=?");
        query.setString(0, "Downward Spiral");
        query.setString(1, "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

     public void testGetOneByNamedQuery() throws Exception {
        Query query = session.getNamedQuery("CDByTitleArtist");
        query.setString(0, "Downward Spiral");
        query.setString(1, "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }
    public void testGetOneByNamedQueryNamedParams() throws Exception {
        Query query = session.getNamedQuery("CDByTitleArtistNamedParams");
        query.setString("title", "Downward Spiral");
        query.setString("artist", "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

 
     public void testGetOneNameParams() throws Exception {
        Query query =
            session.createQuery(
                "from CD where title like :title and artist=:artist"
            );
        query.setString("title", "Downward%");
        query.setString("artist", "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

     public void testGetOneUsingCriteria() throws Exception {
        Criteria criteria = session.createCriteria(CD.class);
        criteria.add(Expression.like("title", "Downward%"));
        criteria.add(Expression.eq("artist", "NIN"));

         CD cd = (CD) criteria.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

     public void testGetOneUsingQBE() throws Exception {
        CD cd1 = new CD("Downward", "NIN", 0.0f);

         Example exCd =
            Example.create(cd1)
.enableLike(MatchMode.ANYWHERE)
.excludeProperty("price");
        Criteria criteria = session
.createCriteria(CD.class).add(exCd);
        CD cd2 = (CD) criteria.uniqueResult();
        assertEquals("Downward Spiral", cd2.getTitle());
    }

     public void testGetOneUsingSQL() throws Exception {
        String sql = "select {cd.*} from CD {cd} where title=? and artist=?";
        Query query = session.createSQLQuery(sql,
                                    "cd", CD.class);
        query.setString(0, "Downward Spiral");
        query.setString(1, "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }
     public void testGetOne() throws Exception {
        Query query = session.createQuery("from CD where title=? and artist=?");
        query.setString(0, "Downward Spiral");
        query.setString(1, "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

     public void testGetOneByNamedQuery() throws Exception {
        Query query = session.getNamedQuery("CDByTitleArtist");
        query.setString(0, "Downward Spiral");
        query.setString(1, "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }
    public void testGetOneByNamedQueryNamedParams() throws Exception {
        Query query = session.getNamedQuery("CDByTitleArtistNamedParams");
        query.setString("title", "Downward Spiral");
        query.setString("artist", "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

 
     public void testGetOneNameParams() throws Exception {
        Query query =
            session.createQuery(
                "from CD where title like :title and artist=:artist"
            );
        query.setString("title", "Downward%");
        query.setString("artist", "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

     public void testGetOneUsingCriteria() throws Exception {
        Criteria criteria = session.createCriteria(CD.class);
        criteria.add(Expression.like("title", "Downward%"));
        criteria.add(Expression.eq("artist", "NIN"));

         CD cd = (CD) criteria.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }

     public void testGetOneUsingQBE() throws Exception {
        CD cd1 = new CD("Downward", "NIN", 0.0f);

         Example exCd =
            Example.create(cd1)
.enableLike(MatchMode.ANYWHERE)
.excludeProperty("price");
        Criteria criteria = session
.createCriteria(CD.class).add(exCd);
        CD cd2 = (CD) criteria.uniqueResult();
        assertEquals("Downward Spiral", cd2.getTitle());
    }

     public void testGetOneUsingSQL() throws Exception {
        String sql = "select {cd.*} from CD {cd} where title=? and artist=?";
        Query query = session.createSQLQuery(sql,
                                    "cd", CD.class);
        query.setString(0, "Downward Spiral");
        query.setString(1, "NIN");

         CD cd = (CD) query.uniqueResult();
        assertEquals("Downward Spiral", cd.getTitle());
    }
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息