Hibernate的QBC查询
来源:互联网 发布:战舰世界 历史 知乎 编辑:程序博客网 时间:2024/05/17 01:15
QBC查询所有
@Test public void testSelectQBC01(){ Session session = null; Transaction transaction = null; try { //1.使用SessionFactory创建Session对象 //理解:类似于jdbc的连接数据库 session = HibernateUtils.getSessionObject(); //2.开启事务 transaction = session.beginTransaction(); //3.写具体的crud操作 //查询所有的客户 //3-1.创建Criteria对象 Criteria criteria = session.createCriteria(Customer.class); //3-2.调用方法得到结果 List<Customer> list = criteria.list(); for (Customer customer : list) { System.out.println("cid = " + customer.getCid() + " custName = " + customer.getCustName()); } //4.提交事务 transaction.commit(); } catch (Exception e) { e.printStackTrace(); //5.回滚事务 transaction.rollback(); } finally { //6.关闭资源 在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了 session.close(); } }
QBC条件查询
@Test public void testSelectQBC02(){ Session session = null; Transaction transaction = null; try { //1.使用SessionFactory创建Session对象 //理解:类似于jdbc的连接数据库 session = HibernateUtils.getSessionObject(); //2.开启事务 transaction = session.beginTransaction(); //3.写具体的crud操作 //条件查询 //3-1.创建Criteria对象 Criteria criteria = session.createCriteria(Customer.class); //3-2.使用Criteria对象里面的方法设置条件值 //使用add方法设置条件值,在add方法里面使用Restrictions类的方法实现条件设置 //静态方法中,参数1:实体类属性名 属性2:实体类属性名对应的条件值 criteria.add(Restrictions.eq("cid", 3)); criteria.add(Restrictions.eq("custName", "三点连线")); //3-3.调用方法得到结果 List<Customer> list = criteria.list(); for (Customer customer : list) { System.out.println("cid = " + customer.getCid() + " custName = " + customer.getCustName()); } //4.提交事务 transaction.commit(); } catch (Exception e) { e.printStackTrace(); //5.回滚事务 transaction.rollback(); } finally { //6.关闭资源 在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了 session.close(); } }
QBC模糊查询
@Test public void testSelectQBC03(){ Session session = null; Transaction transaction = null; try { //1.使用SessionFactory创建Session对象 //理解:类似于jdbc的连接数据库 session = HibernateUtils.getSessionObject(); //2.开启事务 transaction = session.beginTransaction(); //3.写具体的crud操作 //模糊查询 //3-1.创建Criteria对象 Criteria criteria = session.createCriteria(Customer.class); //3-2.使用Criteria对象里面的方法设置条件值 //使用add方法设置条件值,在add方法里面使用Restrictions类的方法实现条件设置 //静态方法中,参数1:实体类属性名 属性2:实体类属性名对应的条件值 criteria.add(Restrictions.like("custName", "%点%")); //3-3.调用方法得到结果 List<Customer> list = criteria.list(); for (Customer customer : list) { System.out.println("cid = " + customer.getCid() + " custName = " + customer.getCustName()); } //4.提交事务 transaction.commit(); } catch (Exception e) { e.printStackTrace(); //5.回滚事务 transaction.rollback(); } finally { //6.关闭资源 在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了 session.close(); } }
QBC排序查询
@Test public void testSelectQBC04(){ Session session = null; Transaction transaction = null; try { //1.使用SessionFactory创建Session对象 //理解:类似于jdbc的连接数据库 session = HibernateUtils.getSessionObject(); //2.开启事务 transaction = session.beginTransaction(); //3.写具体的crud操作 //排序查询 //3-1.创建Criteria对象 Criteria criteria = session.createCriteria(Customer.class); //3-2.使用Criteria对象里面的方法设置条件值 //使用add方法设置条件值,在add方法里面使用Restrictions类的方法实现条件设置 //静态方法决定排序规则,参数:设置根据那个属性进行排序 criteria.addOrder(Order.asc("cid")); //3-3.调用方法得到结果 List<Customer> list = criteria.list(); for (Customer customer : list) { System.out.println("cid = " + customer.getCid() + " custName = " + customer.getCustName()); } //4.提交事务 transaction.commit(); } catch (Exception e) { e.printStackTrace(); //5.回滚事务 transaction.rollback(); } finally { //6.关闭资源 在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了 session.close(); } }
QBC分页查询
@Test public void testSelectQBC05(){ Session session = null; Transaction transaction = null; try { //1.使用SessionFactory创建Session对象 //理解:类似于jdbc的连接数据库 session = HibernateUtils.getSessionObject(); //2.开启事务 transaction = session.beginTransaction(); //3.写具体的crud操作 //3-1.分页查询 开始位置计算公式:(当前页-1)*每页记录数 Criteria criteria = session.createCriteria(Customer.class); //3-2.设置分页参数 //3-2-1.设置开始位置 criteria.setFirstResult(0); //3-2-1.设置每页记录数 criteria.setMaxResults(3); //3-3.调用方法得到结果 List<Customer> list = criteria.list(); for (Customer customer : list) { System.out.println("cid = " + customer.getCid() + " custName = " + customer.getCustName()); } //4.提交事务 transaction.commit(); } catch (Exception e) { e.printStackTrace(); //5.回滚事务 transaction.rollback(); } finally { //6.关闭资源 在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了 session.close(); } }
QBC离线查询
@Test public void testSelectQBC07(){ Session session = null; Transaction transaction = null; try { //1.使用SessionFactory创建Session对象 //理解:类似于jdbc的连接数据库 session = HibernateUtils.getSessionObject(); //2.开启事务 transaction = session.beginTransaction(); //3.写具体的crud操作 //离线查询 //使用场景,servlet调用service,service调用dao(对数据库crud操作--使用hibernate框架时,最终使用session里面的方法实现数据操作) //3-1.创建对象 DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Customer.class); //3-2.最终执行时才用到session Criteria criteria = detachedCriteria.getExecutableCriteria(session); //3-3.调用方法得到结果 List<Customer> list = criteria.list(); for (Customer customer : list) { System.out.println("cid = " + customer.getCid() + " custName = " + customer.getCustName()); } //4.提交事务 transaction.commit(); } catch (Exception e) { e.printStackTrace(); //5.回滚事务 transaction.rollback(); } finally { //6.关闭资源 在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了 session.close(); } }
QBC统计查询
@Test public void testSelectQBC06(){ Session session = null; Transaction transaction = null; try { //1.使用SessionFactory创建Session对象 //理解:类似于jdbc的连接数据库 session = HibernateUtils.getSessionObject(); //2.开启事务 transaction = session.beginTransaction(); //3.写具体的crud操作 //3-1.统计查询 Criteria criteria = session.createCriteria(Customer.class); //3-2.设置所要做的操作 criteria.setProjection(Projections.rowCount()); //3-3.调用方法得到结果 Object object = criteria.uniqueResult(); Long count = (Long)object; int a = count.intValue(); System.out.println("object = " + a); //4.提交事务 transaction.commit(); } catch (Exception e) { e.printStackTrace(); //5.回滚事务 transaction.rollback(); } finally { //6.关闭资源 在使用了与本地线程绑定的session对象之后,就不需要手动关闭session了 session.close(); } }
阅读全文
0 0
- Hibernate的QBC查询
- Hibernate的QBC查询
- [Hibernate]Hibernate的QBC查询
- Hibernate QBC的查询方式的总结
- Hibernate QBC的查询方式的总结
- Hibernate QBC的查询方式的总结
- hibernate的QBC查询学习记录
- Hibernate里的HQL、QBC、SQL查询
- Hibernate 的HQL,QBC 查询语言
- Hibernate 的HQL,QBC 查询语言
- Hibernate的QBC查询返回Object[]集合
- HIbernate的QBC离线查询图解
- Hibernate的HQL、QBC、QBE查询总结
- Hibernate的QBC与HQL分页查询
- 关于Hibernate的QBC查询hibernate_Restrictions用法
- Hibernate QBC查询
- Hibernate QBC高级查询
- Hibernate QBC高级查询
- 基于kvn虚拟化服务器实现drbd高可用方案
- 【1030】求最大公约数
- Oracle在linux下的开机自启动(详细)转
- Java线程池的7个参数
- 【5】Python面向对象编程
- Hibernate的QBC查询
- IntelliJ IDEA 设置打开项目在新窗口中的方法
- 2017腾讯WE大会,全球9大巨人来袭,满足你所有的好奇心
- blktrace分析IO
- keras 调用gpu方法
- 深入WPF -- Dispatcher(补)
- Javascript 严格模式use strict详解
- HDU 1159 Common Subsequence
- Spring的内嵌Tomcat解析