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
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Hibernate绑定session session类似于jdbc的connection 实现与本地线程绑定ses...
- 最近在一边看视频学习这个框架,一遍对着视频开始敲代码,达到学以致用的地步,可就是这么一个问题,使我纠结了一小时。 ...
- 仔细检查类com.xxx.xxx.xxx是否配置了主键@Id以及是否配置在对应属性或者getter方法上。