- 浏览: 87368 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
qintengfei:
不错,问题解决了。
ResultSet转换为List的方法 -
weichen:
看完之后挺管用,拿来试试人人网,大部分应用都能进,但是游戏中的 ...
HttpClient -
nggno1:
学习了~
Date类学习总结 -
chen88358323:
httpclient.getConnectionManager ...
HttpClient关于下载的资料收集 -
Eric_2007:
最后一条,有点过份!
一个女生看了会哭,男生会沉默的故事
public static void main(String[] args) {
Session session = null;
Transaction tx = null;
List list = null;
Criteria criteria = null;
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
DetachedCriteria detachedCriteria = DetachedCriteria
.forClass(InfoTab.class);
String sql=" 1=1 ";
Integer pareaId = 0; // 父地区;
Integer careaId = 0; // 子地区;
Integer categoryId = 0; // 类别;
String infoPrivider = "中介"; // 来源;
String houseType= "地下室"; // 房屋类型;
Integer hxBedRoom=0; // 室;
Integer hxLivingRoom=0; // 厅;
String hzHouseStatus="有房出租"; // 合租类型;
String hzRequestSex="男"; // 性别要求;
String fixUp="尚未"; // 装修程度;
Integer lcHeightMolecuse=0; // 楼层;
String orientation="东南"; // 朝向要求;
Integer buildArea=2000; // 建筑面积;
Integer useArea=80; // 使用面积;
Integer rentalDigit=2000; // 租金/价格;
String title= "出租"; // 标题;
if(pareaId!=0)
{
sql+="pareaId=" + pareaId;
}
if(careaId!=0)
{
sql+=" and careaId=" + careaId;
}
if(categoryId!=0)
{
sql+=" and categoryId=" + categoryId;
}
if(!infoPrivider.equals(""))
{
sql+=" and infoPrivider='" + infoPrivider + "'";
}
if(!houseType.equals(""))
{
sql+=" and houseType='" + houseType +"'";
}
if(hxBedRoom!=0)
{
sql+=" and hxBedRoom=" + hxBedRoom;
}
if(hxLivingRoom!=0)
{
sql+=" and hxLivingRoom=" + hxLivingRoom;
}
if(!hzHouseStatus.equals(""))
{
sql+=" and hzHouseStatus='" + hzHouseStatus + "'";
}
if(!hzRequestSex.equals(""))
{
sql+=" and hzRequestSex='" + hzRequestSex +"'";
}
if(!fixUp.equals(""))
{
sql+=" and fixUp='" + fixUp + "'";
}
if(lcHeightMolecuse!=0)
{
sql+=" and lcHeightMolecuse=" + lcHeightMolecuse;
}
if(!orientation.equals(""))
{
sql+=" and orientation='" + orientation + "'";
}
if(buildArea!=0)
{
sql+=" and buildArea=" + buildArea;
}
if(useArea!=0)
{
sql+=" and useArea=" + useArea;
}
if(rentalDigit!=0)
{
sql+=" and rentalDigit=" + rentalDigit;
}
if(!title.equals(""))
{
sql+=" and title like '%" + title + "%'";
}
sql+=" order by id desc";
System.out.println(sql);
detachedCriteria.add(Restrictions.sqlRestriction(sql));
criteria = detachedCriteria.getExecutableCriteria(session);
list = criteria.list();
for(int i=0;i<list.size();i++)
{
InfoTab infoTab = (InfoTab)list.get(i);
System.out.println(infoTab.getTitle() +" "+ infoTab.getCategoryId() +" "+ infoTab.getPareaName() +" "+ infoTab.getCareaName() +" " + infoTab.getHouseType() +" " + infoTab.getInfoPrivider());
}
tx.commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
发表评论
-
工作记录
2010-03-08 11:26 777sqlserver2000 安装报注册表挂起解决: ... -
利用ftp服务器实现文件上传下载
2009-08-12 12:09 1526利用ftp服务器实现文件 ... -
工作记录
2009-06-16 18:13 7731 用PrintWriter对象写文件 StringB ... -
控件通知消息
2009-05-05 13:49 19012008年04月06日 星期日 00:09 控件通知消 ... -
Hibernate的检索策略
2009-05-04 13:54 748Hibernate的检索策略包括类级别检索策略和关联级别检索策 ... -
ResultSet转换为List的方法
2009-04-11 20:39 2522ResultSet转换为List的方法 private s ... -
文件批量上传
2009-03-23 17:06 1148执行类: /** * @author LX ... -
工作异常记录
2009-03-20 18:44 8041 hbm.xml配置问题 org.springframewo ... -
Date类学习总结
2009-03-06 13:34 9671.计算某一月份的最大天数 Calendar time=Cal ... -
java日期(Date)、日历(Calendar)、日期格式(DateFormat)三类介绍
2009-02-16 13:45 2705语言的Calendar(日历),Date(日期), 和Date ... -
关于日期格式的一些记录
2009-02-16 13:43 893一、自定义月份: Date aDate = new Dat ... -
JAVA正则表达式4种常用功能
2009-02-12 10:31 916JAVA正则表达式4种常 ... -
list排序
2009-02-06 11:28 1050import java.text.Collator; ... -
java中删除一个非空目录的方法
2009-02-04 19:03 2944在java中没有直接删除非空目录的方法,所以要自己编写方法来删 ... -
List与数组实体的转换
2009-01-22 17:41 12471.List转换成为数组。(这里的List是实体是ArrayL ... -
HttpClient认证(3)
2009-01-15 10:59 1356清单 2. 在 HttpClient 中自定义 SSL 示例 ... -
HttpClient认证(2)
2009-01-15 10:47 2343Form-Based 认证方式在 J2EE 站点中更为常见。这 ... -
HttpClient认证(1)
2009-01-15 10:29 1455J2EE 站点认证简介 出于安全性的需要和用户授权管理的考虑 ... -
HttpClient 学习整理(4)
2009-01-15 10:05 15485. 提交XML格式参数 -
HttpClient 学习整理(3)
2009-01-15 10:04 958下面的代码片段演示如何处理页面的重定向 client.exe ...
相关推荐
总的来说,“hibernate hql where语句拼接工具类”是为了简化和规范化在Hibernate中构建带有动态条件的HQL查询的过程,提高代码的可读性和可维护性。通过这样的工具类,开发者可以更方便地根据业务需求构建复杂的...
在实际开发过程中,为了实现动态SQL查询的功能,开发者常常需要根据不同的条件来构造SQL语句。这种根据条件动态生成SQL的过程就被称为SQL语句拼接。这种方式尤其适用于那些查询条件不确定或可变的场景,例如用户可以...
条件判断并拼接SQL语句 ``` - **执行查询**:通过`Session`的`createSQLQuery`方法创建`SQLQuery`对象,并设置结果转换方式,最后执行查询并返回结果。 ```java SQLQuery query1 = session.createSQLQuery(sql);...
"Java使用注解拼接SQL语句"是一个常见的实践,它使得动态构建SQL查询变得更为简洁和可维护。这种技术通常与ORM(对象关系映射)框架如MyBatis或Hibernate结合使用,但也可以通过自定义处理逻辑实现。 1. **自定义...
4. 使用ORM(对象关系映射)框架,如Hibernate或Entity Framework,它们会自动处理SQL拼接和安全问题。 5. 避免在前端暴露敏感信息,如数据库结构、表名或字段名。 综上所述,"前台拼接SQL语句"是一个重要的安全...
在执行`createCriteria()`或`createCriteriaJoin()`等方法时,Hibernate会构建一个表示查询条件的抽象语法树(AST)。`org.hibernate.criterion`包中的类如`DetachedCriteria`、`Expression`等用于构建这些条件。...
Hibernate 的核心功能之一是提供了一套强大的查询接口和方法,包括基于对象的查询、SQL 查询和 HQL (Hibernate Query Language) 查询等。本文将详细介绍 Hibernate 提供的几种查询方式及其应用场景。 #### 二、重要...
在Java持久化框架Hibernate中,结构化查询是其强大功能之一,它允许开发者以面向对象的方式构建复杂的SQL查询。Criteria API就是实现这一功能的核心组件,它提供了一种更安全、可读性更强的方式来代替传统的HQL...
1. **参数化查询**:使用预编译的SQL语句,将用户输入作为参数传递,而不是直接拼接在SQL字符串中。例如,使用ORM框架(如Hibernate、Entity Framework)或数据库提供的API(如PDO、PreparedStatement)。 2. **输入...
简洁明了,类似于hibernate的criteria,不依赖其他任何框架和包,还具备防注入能力。我从githug找到一个原始版本,功能不完善且太复杂。我fork了自己的一个版本,有高手可以跟进下...
标题中的“day36 04-Hibernate检索方式:多表连接查询”表明这是一个关于Hibernate框架的教程,重点讲解如何在Hibernate中进行多表连接查询。在这个主题中,我们将深入探讨Hibernate的ORM(对象关系映射)机制以及...
这样的方式,Hibernate会自动处理参数,避免了直接将用户输入拼接到SQL字符串中。 2. **对参数位置进行绑定**: 类似于上一种方法,但不指定参数名,而是根据参数位置设置值。例如: ```java Query query = ...
在SQL编程中,通常我们需要动态构建SQL语句来适应不同的查询条件。早期的开发实践中,开发者经常使用`StringBuffer`或`StringBuilder`来拼接这些条件,但这并不是一个高效且安全的方法。本话题将深入探讨如何避免...
总的来说,JPA分页查询和条件分页查询为开发者带来了极大的便利,它减少了对SQL的直接操作,提高了代码的可读性和可维护性。通过合理地运用Spring Data JPA的特性,可以构建出高效、灵活的数据库访问层。在设计和...
Hibernate提供Criteria API,允许开发者在运行时构建查询条件,实现动态SQL。Criteria API基于对象的API,可以更灵活地创建查询。 2.2 HQL(Hibernate Query Language) HQL是Hibernate自己的查询语言,类似SQL但...
在这个“Hibernate查询映射试验”项目中,你可能会遇到如何配置SessionFactory、如何创建和执行HQL/Criteria查询、如何处理关联映射(如一对一、一对多、多对多)、如何使用事务管理等实践环节。理解并熟练掌握这些...
在 Hibernate 中进行查询是其核心功能之一,本文将详细介绍 Hibernate 的几种查询方式,包括 HQL (Hibernate Query Language) 查询、QBC (Query By Criteria) 查询以及 QBE (Query By Example) 查询,并结合示例代码...
框架如Hibernate、MyBatis等在设计时已考虑了SQL注入问题,它们会自动处理预编译语句和参数绑定,减少开发者的安全顾虑。 6. **最小权限原则**: 数据库连接应使用具有最小权限的账户,这样即使发生SQL注入,攻击...
Criteria API 是一种基于对象的查询方式,可以动态构建查询条件,避免了SQL拼接带来的问题。HQL则是面向对象的查询语言,类似于SQL,但更贴近于Java对象模型,使得查询更为直观。 4. **缓存机制** Hibernate 3.0 ...
虽然 iBatis 在某些方面与 Hibernate 类似,但它们之间的主要区别在于 iBatis 提供了更细粒度的 SQL 控制能力,这使得 iBatis 在复杂查询或性能敏感的应用场景中更具优势。 ### 二、动态 SQL 的概念 在实际应用中...