Hibernate-QBL

简介: Hibernate-QBL
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();
    }
}
相关文章
|
3月前
|
Java 数据库连接 API
|
12月前
|
SQL Java 关系型数据库
Hibernate的使用总结
Hibernate的使用总结
61 0
|
SQL Java 数据库连接
|
Java 数据库连接
|
关系型数据库 Java 数据库连接