表所有數據

查詢userName為abc或xyz的

以下為本菜鳥項目中遇到的問題:
背景:
/**
* wangjie 180629
*
* 學生需要查詢四種可能的消息
* 1.班級管理員發來的,根據自身的學籍號條件查詢
* 2.省級管理員發送區縣全部的,根據接收對象地區號作為條件查詢
* 3.省級管理員發送全省全部的,根據接收對象類型為"all"查詢
* 4.省級管理員發送全市全部的,根據接收對象市id查詢
*
* */
例子
問個sql語句問題,比如如何查出
name為小紅的
或者
name為小黑並且sex為男的
以上兩個條件拼接一條語句寫出來
/**
* 接收到的學習紀實--分頁
* @param pageNumber
* @param pageSize
* @param map
* @return
*/
@Override
public Pagenate<StudyRecordTableEntity> pageforAcceptStudyTableEntity(
int pageNumber, int pageSize, Map<String, String> map) {
// map傳過來的值:{classCode=5051, acceptcode=15040602011, titles2=, role=03, pointId=0482, cityCode=3704, classAdminCode=null, ydrq12=, ydrq22=}
// TODO Auto-generated method stub
String titles2=map.get("titles2"); //標題
String ydrq12=map.get("ydrq12"); //開始日期
String ydrq22=map.get("ydrq22"); //結束日期
String acceptcode=map.get("acceptcode");//接收人編號
/**
* wangjie 180629
*
* 學生需要查詢四種可能的消息
* 1.班級管理員發來的,根據自身的學籍號條件查詢
* 2.省級管理員發送區縣全部的,根據接收對象地區號作為條件查詢
* 3.省級管理員發送全省全部的,根據接收對象類型為"all"查詢
* 4.省級管理員發送全市全部的,根據接收對象市id查詢
*
* */
// 接收區縣---區縣id
String point_id = map.get("pointId");
// 接收市id
String city_id = map.get("cityCode");
Session session = super.getHibernateTemplate().getSessionFactory().getCurrentSession();
StringBuffer sb=new StringBuffer();
// 學員接收信息
sb.append(" from StudyRecordTableEntity srt,StudyRecAcceptRoleEntity accept,SysAccCount account where srt.id=accept.sturec_code and account.accCode=srt.sendopt ");
sb.append(" and accept.accrole='03' and srt.flag='1' ");
sb.append(" and ( accept.send_type='single' and ( accept.accept_range like '%"+acceptcode+"%' or accept.accept_range like '%"+point_id+"c%' or accept.accept_range like '%"+city_id+"%' ) ");
sb.append(" or accept.send_type='all' ) ");
if(titles2!=null&&!"".equals(titles2)){
sb.append(" and srt.titles like '%"+titles2+"%' ");
}
if(ydrq12!=null&&!"".equals(ydrq12)){
sb.append(" and srt.sdate >= '"+ydrq12+"' ");
}
if(ydrq22!=null&&!"".equals(ydrq22)){
Calendar calendar=new GregorianCalendar();
calendar.setTime(DateUtils.parseDate(ydrq22, "yyyy-MM-dd"));
calendar.add(calendar.DATE, 1);
sb.append(" and srt.sdate < '"+DateUtils.formateDate(calendar.getTime(), "yyyy-MM-dd")+"' ");
}
String hqlCnt="select count(0) "+sb.toString();
String hql="select srt "+sb.toString()+" order by srt.sdate desc,srt.sturec_type asc ";
System.out.println("拼接的sql---->"+hql);
Query queryCnt=session.createQuery(hqlCnt);
Query query=session.createQuery(hql);
return super.findByPage(pageNumber, pageSize, queryCnt, query);
}

后台是hql語句查詢的,剛開始沒想起來,急的我差點寫四個sql分別查詢
一個同胞的:

