hibernate3 实现查询的多种方法


    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());

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值