`
blues1021
  • 浏览: 141312 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

Struts表单提交的text String数据可以作为HQL中的Integer类型处理

    博客分类:
  • SSH
 
阅读更多

1.传入数据的表单中的声明 :<form  method="post" action="/Unity3DHouse4/searchBuildingInfo.do?method=searchBuildingInfoBy2">
          <table width="700" border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td width="10">&nbsp;</td>
              <td width="220"><label>楼盘ID:
              
  <input type="text" name="buildingId" />
                </label></td>
              <td width="220"><label>楼盘类型:
                <input type="text" name="projectType" />
                </label>
              </td>
              <td ></td>
              <td >&nbsp;</td>
              <td >&nbsp;</td>
              <td width="40"><label>
                <input name="Submit" type="submit" value="查找" />
                </label></td>
            </tr>
          </table>
        </form>
2.在form-bean中:
<form-bean name="buildingInfoForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="projectId" type="java.lang.Integer" />
//提交时为Integer类型数据,但是这里没有使用form-bean来读取数据。

      <form-property name="projectName" type="java.lang.String" />
      <form-property name="projectType" type="java.lang.String" />
      <form-property name="projectAddress" type="java.lang.String" />
      <form-property name="houseType" type="java.lang.String" />
      <form-property name="houseNumber" type="java.lang.Integer" />
      <form-property name="priceRange" type="java.lang.String" /> <!-- 为请求的过程中产生的form模型 -->
      <form-property name="paidWay" type="java.lang.String"/>
       <form-property name="salesAddress" type="java.lang.String"/>
        <form-property name="telephone" type="java.lang.String"/>
  </form-bean>
3.在action方法中:
public ActionForward searchBuildingInfoBy2(ActionMapping mapping, ActionForm form,//1.结合输入时的form处理
            HttpServletRequest request, HttpServletResponse response){
        // DynaActionForm buildingForm = (DynaActionForm) form;
         // String buildingId = buildingForm.getString("buildingId");//但是它是一个String类型的数
      
 String buildingId=request.getParameter("buildingId");//能够读取Integer型数据,当然因为text类型传入都是String类型。
        //String projectType =buildingForm.getString("projectType");
            String projectType=request.getParameter("projectType");
    /*      Map<String,String> map = new HashMap<String,String>();
            
            map.put("buildingId", buildingId); //终于找到了,这里出错,没有将变量正确的存储
                                                        //1.没有读取相关的form request数据
            map.put("projectType", projectType);
            */
//在此处调用的时候,没有使用强制转换为Integer类型。
        
List<Buildinginfo> list =  buildingInfoDao.findBy2(buildingId,projectType);
      request.setAttribute("buildingInfoBy2", list); //4.将其存入到houseInfo链表对象中
        return mapping.findForward("searchBuildingInfoBy2");//4.返回到页面标志searchBuildingInfoBy2
    }
}
4.在dao类方法中:
public List<Buildinginfo> findBy2(String buildingId,String projectType){//同样对其为String类型的。
        
        
        //List<Buildinginfo> list=null;            //buildingId出错
        //String buildingId=map.get("buildingId");
        //在前面存入后,通过 List<Course> clist = courseDao.findBySearch(map);又可以将其取出。
        //String projectType=map.get("projectType");
         if(!buildingId.equals("")&&!projectType.equals("")){
             
//在HQL语句中都可以成功的调用。 因为查询库时可以用‘ ’对于Integer数据查询。 
Query q = getSession().createQuery("FROM Buildinginfo WHERE buildingId=? AND projectType=?");
                q.setString(0, buildingId);

                //q.setString(1, tchName);
                q.setString(1, projectType);
                
                List<Buildinginfo> list1 = q.list();
                return list1;
                }
             else if(
!buildingId.equals("")&&projectType.equals("" )){ //对其判断是也是使用了String类型的方法
                     Query q = getSession().createQuery("FROM Buildinginfo WHERE buildingId=? ");
                     q.setString(0, buildingId);
                     //q.setString(1, tchName);
                     
                     
                     List<Buildinginfo> list2 = q.list();
                     return list2;
                }
             
             else if(buildingId.equals("")&&!projectType.equals("")){
                 Query q = getSession().createQuery("FROM Buildinginfo WHERE projectType=?");
                    //q.setString(0, loginAccount);
                    //q.setString(1, tchName);
                    q.setString(0, projectType);
                    
                    List<Buildinginfo> list3 = q.list();
                    return list3;
                    }
           
             else{
                     Query q = getSession().createQuery("FROM Buildinginfo");
                         
                         
                     List<Buildinginfo> list4 = q.list();
                         return list4;
                }
                
            }

分享到:
评论

相关推荐

    Hibernate框架]Hql语句in中带参数的写法

    Hibernate框架Hql语句in中带参数的写法 Hibernate框架中,在使用HQL语句时,需要传递参数,而在HQL语句中使用in关键字时,需要特别注意参数的传递方式。在本文中,我们将讨论如何在HQL语句中使用in关键字带参数的...

    hql语句 使用大全

    条件查询是HQL中最常用的查询类型之一。 ##### 7.1 占位符查询 使用问号作为占位符设置参数值: ```java String hql = "from com.mypack.User4 u where u.name = ?"; Query query = session.createQuery(hql); ...

    hibernate String struts2 包

    **String** 在这里可能是指Java中的`String`类,它是Java语言中最常用的数据类型之一,用于处理文本字符串。`String`类提供了许多方法,如`substring`、`indexOf`、`concat`等,方便对字符串进行操作。在开发过程中...

    JPA--HQL查询(手动写原生查询sql,复杂查询必备).pdf

    在查询结果处理方面,需要根据返回的结果来定义接收数据类型,例如,返回的结果是一个列表,可以使用 List[]&gt; 来接收,然后遍历列表,处理每个元素。 以下是 HQL 查询的示例代码: 首先,添加 EntityManager 并...

    HQL语句详解Select/update/deletefromwhere...

    HQL作为一种强大的查询语言,不仅提供了丰富的查询功能,还支持对数据进行更新和删除操作。通过合理使用HQL,可以极大地提高开发效率并简化代码。同时,对于属性查询的支持也使得开发者能够在不获取整个实体的情况下...

    Spring中hql语句的常用方法

    在Spring框架中,`HibernateTemplate`类提供了多种方法来执行HQL查询,这些方法可以帮助开发者更加灵活地处理数据查询需求。 1. **find(String queryString)**:此方法接受一个HQL字符串作为参数,返回所有符合条件...

    hql的增删改查

    通过上述示例,我们可以看到HQL提供了一种简洁且强大的方式来处理数据库中的增删改查操作。理解这些基本操作的实现原理,有助于开发者更好地利用Hibernate框架来提高应用程序的数据访问效率和性能。

    hql总条数.txt

    这里假设查询结果是一个数值,因此将其转换为字符串,再转化为`Integer`类型,最后通过`intValue()`方法转换为基本数据类型`int`,得到总条数`totalRows`。 4. **异常处理与资源关闭**:通过`try-catch-finally`...

    HQL语句 HQL语句

    HQL语句 HQL语句 HQL语句 HQL语句 HQL语句

    Hibernate数据检索(HQL)笔记

    ### Hibernate数据检索(HQL)知识点详解 #### 一、简介 Hibernate 是一款开源的对象关系...通过学习这些示例,我们可以更深入地理解如何使用 HQL 进行数据检索,并将其应用于实际项目中,提高开发效率和程序性能。

    HQL.pdf数据查询语句

    Hibernate Query Language(HQL)是一种面向对象的查询语言,它允许开发者通过对象模型而非数据库模式来表达数据库查询。...在实际应用中,开发者应充分利用HQL提供的强大功能,提高数据访问层的代码质量与效率。

    Hql语句注意事项总结

    - **数据类型匹配**:确保数组中的元素类型与数据库字段类型匹配,以避免类型转换错误。 总之,理解和熟练掌握这些Hql注意事项是编写高效、安全的Hibernate查询的关键,这有助于提升应用程序的性能和稳定性。在实际...

    hql语言中的一些常用的方法

    在实际应用开发中,HQL被广泛用于数据检索、更新等操作。下面将详细介绍HQL语言中的一些常用的方法及其应用场景。 #### 1. find 方法 `find` 方法是HQL中最基本也是最常用的查询方法之一,通过它可以执行简单的...

    Spring中常用的hql查询方法

    在Spring框架与Hibernate技术结合使用时,HQL(Hibernate Query Language)作为对象查询语言被广泛应用于数据查询操作之中。本文将详细解析Spring框架中常用的HQL查询方法及其应用场景。 #### 一、find(String ...

    struts2+spring2.5+hibernate3.2中文开发手册

    Struts2的核心特性包括拦截器、插件支持、强大的动作类和结果类型等,使得开发者能够轻松处理表单提交、请求转发、异常处理等常见任务。 Spring框架则是Java应用的全方位解决方案,它不仅提供了依赖注入(DI)和...

    hibernateHQL关联查询

    Hibernate作为一种流行的Java持久层框架,提供了强大的对象关系映射(ORM)功能,使得开发者能够以面向对象的方式来处理数据库中的数据。其中,HQL(Hibernate Query Language)作为Hibernate提供的查询语言之一,...

    hibernate_hql.rar_HQL

    HQL允许在查询中嵌套查询,子查询可以作为查询条件或者返回结果的一部分。比如,找出年龄大于平均年龄的用户: ```java String hql = "from User where age &gt; (select avg(age) from User)"; ``` 六、HQL关联查询 ...

    精通HQL(word格式)

    总之,HQL作为Hibernate的重要组成部分,为开发者提供了强大且灵活的数据检索能力,使得在Java应用中操作数据库变得更加简单和直观。在实际开发中,掌握HQL的使用能极大地提升开发效率和代码质量。

    HQL批量插入、更新和删除

    1. **分批提交**:将大批量的数据分割成小批次,每完成一批次的插入操作后立即提交事务。这样可以有效地避免内存溢出的问题。 2. **使用Session的缓存机制**:利用Hibernate的二级缓存功能来缓存待插入的数据,减少...

Global site tag (gtag.js) - Google Analytics