hibernate封装查询,筛选条件然后查询

    // 封装查询条件

    @Test
    public void transmitParameter() {
        Map map = new HashMap<String, String>();
        // map.put("sid", "1");
        map.put("s_name", "");
        test1(Student.class, map);
        // 可能会根据筛选来查询!有的条件可能值为空
    }

    public void test1(Class classs, Map<String, String> p) {
        Session session = startCfg.getSession();
        Transaction t = session.beginTransaction();
        // 拼接sql语句
        StringBuffer sb = new StringBuffer();
        sb.append("from "
                + session.getSessionFactory().getClassMetadata(classs)
                        .getEntityName() + " where 1=1 ");
        // 搜索哪些字段要根据map来添加
        for (Entry<String, String> entry : p.entrySet()) {
            if (!entry.getValue().equals("")) {
                sb.append(" and " + entry.getKey() + "=:" + entry.getKey());
            }
        }

        Query query = session.createQuery(sb.toString());
        for (Entry<String, String> entry : p.entrySet()) {
            if (!entry.getValue().equals("")) {
                query.setParameter(entry.getKey(), entry.getValue());
            }
        }
        List list = query.list();
        System.out.println(list.toString());
        t.commit();

    }
时间: 2024-09-30 16:24:18

hibernate封装查询,筛选条件然后查询的相关文章

MYSQL复杂查询(条件不定查询+按降序/升序分页显示)

使用mybatis框架后,mybatis-generator可以为我们自动生成操作数据库(MYSQL)的*Mapper.xml文件+模型类+*Mapper接口,但是,mybatis-generator并不能为我们生成所有方法,例如根据输入的不定条件来查询数据,又比如按照某个参数升序或者降序并分页显示所查到的数据,下面介绍一下条件不定查询及按降序/升序分页显示的方法. 1.按条件不定查询(项目基于SSMM(spring+springmvc+maven+mybatis)框架整合的代码进行举例) 在B

JPA分页查询与条件分页查询

情有独钟的JPA 平时在写一些小项目时,比较喜欢引用 Spring Data Jpa,其实还是图他写代码快~在日常的开发工作中,分页列表查询基本是随处可见,下面一起看一下如何使用 jpa 进行多条件查询以及查询列表分页呢? 关于JPA的使用 关于 jpa 的使用,下面2步简单过一下,详细资料,小伙伴自行搜索一下吧~ 1.导入依赖 <dependency>    <groupId>org.springframework.boot</groupId>    <arti

使用ArcGIS API for Silverlight 进行复合多条件空间查询

原文:使用ArcGIS API for Silverlight 进行复合多条件空间查询 这两天帮网上认识的一个兄弟做了一个查询的示例,多多少少总结一下,在此和大家分享. 为什么说是复合多条件呢?因为进行空间查询有时候我们查询的条件会很复杂,比如要求某一要素的某一属性大于多少,且小于多少,且又不等于多少等等.而在官网给出的例子中并没有关于复合查询的说明.不过查看API后,你会发现一句很重要的话: A where clause for the query. Any legal SQL where c

基于Struts2+Hibernate的Criteria多条件查询

Hibernate 定义了CriteriaSpecification接口规范用来完成面向对象的条件查询,Criteria 和 DetachedCriteria 就是CriteriaSpecification的子接口. 在进行本篇的内容之前,我们先来大致说一说Criteria 和 DetachedCriteria 的主要区别: Criteria 和 DetachedCriteria 的创建的形式不一样, Criteria 是在线的,所以它是由 Hibernate Session 进行创建的:而 D

hibernate查询之条件查询

技术分析之QBC检索方式 0. QBC:Query By Criteria 按条件进行查询 1. 简单查询,使用的是Criteria接口 List<Customer> list = session.createCriteria(Customer.class).list(); for (Customer customer : list) { System.out.println(customer); } 2. 排序查询 * 需要使用addOrder()的方法来设置参数,参数使用org.hiber

Powershell对象条件查询筛选

在 Windows PowerShell 中,与所需的对象数量相比,通常生成的对象数量以及要传递给管道的对象数量要多得多.可以使用 Format cmdlet 来指定要显示的特定对象的属性,但这并不能帮您解决从显示中删除整个对象的问题.您可能希望在管道结束之前筛选对象,因此只能在最初生成的对象子集上执行操作. 利用 Windows PowerShell 中的 Where-Object cmdlet,可以测试管道中的所有对象,并将符合特定测试条件的对象通过管道进行传递.没有通过测试的对象将从管道中

jqgrid 表格中筛选条件的多选下拉,树形下拉 ;文本框清除插件;高级查询多条件动态筛选插件

/** * @@desc 文本框清除按钮,如果isAutoWrap为false当前文本框父级必须是relative定位,boostrap参考input-group * @@author bear.LEE <571115139#qq.com> * @@since 2018-08-21 **/ ; (function ($) { $.fn.extend({ addClearBtn: function (options, $o) { var deft = { symbolClass: "f

Hibernate的Api以及三种查询方式

Hibernate  Api |-- Configuration       配置管理类对象 config.configure();    加载主配置文件的方法(hibernate.cfg.xml) 默认加载src/hibernate.cfg.xml config.configure("cn/config/hibernate.cfg.xml");   加载指定路径下指定名称的主配置文件 config.buildSessionFactory();   创建session的工厂对象 |--

指定查询条件,查询对应的集合List(单表)

TestDao.java(测试类) @Test public void findCollectionByConditionNoPage(){  ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");  IElecTextService elecTextService = (IElecTextService) ac.getBean(IElecTextService.SERVICE_NAME);