美文网首页
Hibernate-QBL

Hibernate-QBL

作者: 垃圾简书_吃枣药丸 | 来源:发表于2017-08-25 10:07 被阅读15次
    package smile.fu.hibernatetest;
    
    import static org.junit.Assert.*;
    
    import java.util.List;
    
    import org.hibernate.Criteria;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.criterion.DetachedCriteria;
    import org.hibernate.criterion.MatchMode;
    import org.hibernate.criterion.Order;
    import org.hibernate.criterion.Projection;
    import org.hibernate.criterion.Projections;
    import org.hibernate.criterion.Restrictions;
    import org.junit.Test;
    
    import smile.fu.entity.User;
    
    public class hibernate_bqc {
    
        @Test
        public void testBQC() {
            Configuration configuration = new Configuration();
            configuration.configure();
            SessionFactory sessionFactory = configuration.buildSessionFactory();
            Session session = sessionFactory.openSession();
            Transaction transaction = session.beginTransaction();
    
            // 1.指定对哪个表进行操作
            // Criteria criteria = session.createCriteria(User.class);
            // criteria.add(Restrictions.eq("password","9"));
            // criteria.add(Restrictions.like("address", "%江西%"));
            // 模糊查询匹配方式
            // criteria.add(Restrictions.like("address", "江西", MatchMode.ANYWHERE));
            // 添加排序规则
            // criteria.addOrder(Order.desc("password"));
            // 分页 查询前10条数据
            // criteria.setFirstResult(0);//开始位置: (当前页-1)*每页大小
            // criteria.setMaxResults(10);
            // criteria.add()
            // 2.设置操作 得到行数 count
            // criteria.setProjection(Projections.rowCount());
            // Object object = criteria.uniqueResult();
            // 不可以直接从Object类型转换成int;应该先从Object转换成Long类型再转换成int类型
            // int count = (int) object;
            // 正确方式
            // Long lobj = (Long) object;
            // int count = lobj.intValue();
            // System.out.println(count);
            // List<User> userList = criteria.list();
            // for (User user : userList) {
            // System.out.println(user.toString());
            // }
    
            // 离线查询
            // 1.创建对象,不用session,直接调用DetachedCriteria的静态方法
            // DetachedCriteria detachedCriteria=DetachedCriteria.forClass(User.class);
            // Criteria criteria=detachedCriteria.getExecutableCriteria(session);
            // List<User> list= criteria.list();
            // for (User user : list) {
            // System.out.println(user.toString());
            // }
    
            transaction.commit();
            session.close();
            sessionFactory.close();
        }
    
    }
    
    

    相关文章

      网友评论

          本文标题:Hibernate-QBL

          本文链接:https://www.haomeiwen.com/subject/qmfudxtx.html