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();
}
}
本文出自 “maomao” 博客,请务必保留此出处http://maomao.blog.51cto.com/115985/33883
本文出自 51CTO.COM技术博客
分享到:
相关推荐
hibernate实现动态SQL查询,通过XML配置SQL,FREEMARKER 解析,生成要执行的SQL
Hibernate 函数 ,子查询 和原生SQL查询。Hibernate 函数 ,子查询 和原生SQL查询
hibernate 多表查询 hibernate 多表不同于一般的sql嵌套查询,嵌套查询是不支持的,所以必须要配置好才能实现多表!只要配置好了,还是特别好用的
Hibernate+本地SQL查询SQLQuery宣贯.pdf
NULL 博文链接:https://zhaoshijie.iteye.com/blog/1060576
hibernate多表联合查询实例,很经典的查询语句和总结.
使用本地sql语句查询后,无需再使用Object对查询结果进行强制转换,而是直接将查询结果放到实体Bean里了。 PS: 其实只有一版,这里只所以叫最终版是因为该附件我上传了好几天传不上去,到最后报告说‘资源已经存在...
hibernate将本地SQL查询结果封装成对象。如进行复杂的统计等本地sql语句查询后,直接放到对象里了,而不会再使用Object进行强转
Hibernate+本地SQL查询SQLQuery.pdf
Hibernate中的查询:HQL、Criteria、原生SQl的Demo,希望可以帮助大家理解Hibernate查询。
模仿Hibernate生产SQL语句,使用Java反射
该方式是原生SQL查询的一种方式,需要个人自己书写SQL语句进行操作,用法比较灵活多变,适合比较复杂的SQL查询.该压缩包是本人对该查询方式的一种总结练习
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
hibernate中,对其中的查询方式进行总结,包括hql查询,条件查询,sql查询等
Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法 Hibernate SQL...
Hibernate多对多关联添加及查询示例
hibernate执行原生sql语句
NULL 博文链接:https://gaoquanyang.iteye.com/blog/1213765
使用Hibernate编写通用数据库操作代码
NULL 博文链接:https://mlxnle.iteye.com/blog/1766676