您的位置:首页 > 编程语言 > Java开发

java DAO类 select方法范例,查询关键词

2013-06-08 17:18 351 查看
public Page selectWarnList(String startDate, String lastDate, String warnName,String warnlightName,int isPage,

String pageNum, String iswarn, int isPrint) {

List<WarnDto> list = new ArrayList<WarnDto>();

try {

StringBuffer sql = new StringBuffer();

StringBuffer where = new StringBuffer(" where 2>1 ");

where.append(" and w_iswarn=").append(iswarn);

where.append(" and w_type in (select set_id from systemsetting where set_value<>'' and set_value is not null and set_id between 1 and 40)");

sql.append("select w.*,lt_name,lpt_name,road_name,area_name from warning w"

+ " left join lightnode on (w_lightnodeid=lt_id)"

+ " left join lamppost on (lt_lamppostid=lpt_id) "

+ " left join roadnode on (road_id = lpt_roadId)"

+ " left join areanode on (area_id=road_areaId)");

if (startDate != null && !"".equals(startDate)) {

where.append(" and w_warnDate>=STR_TO_DATE('");

where.append(startDate).append("','%Y-%m-%d')");

}

if (lastDate != null && !"".equals(lastDate)) {

where.append(" and w_warnDate<=date_add(STR_TO_DATE('");

where.append(lastDate).append("','%Y-%m-%d'),interval 1 day)");

}

if (warnName != null && !"".equals(warnName)) {

where.append(" and w_name like '%");

where.append(warnName).append("%'");//使用append方式获取关键词的值。

}

if (warnlightName != null && !"".equals(warnlightName)) {

where.append(" and lt_name like '%");

where.append(warnlightName).append("%'");

}

sql.append(where);

String sqlCount = sql.toString();

sql.append(" order by w_warnDate desc");

where_var = where.toString();

log.info(sql);

if (isPrint == 0) {

con = DBConnection.getConnection();

if(pageNum==null||"".equals(pageNum)){

pageNum="1";

}

if (isPage == 1) {

page.setTotalCount(BaseUtils.getTotalCount(sqlCount, con));

sql.append(" limit ").append(

(Integer.parseInt(pageNum) - 1)

* page.getRowsPage()).append(",").append(

page.getRowsPage());

}

ps = con.prepareStatement(sql.toString());

rs = ps.executeQuery();

/*

//根据warning表的lightnodeid查询lightnode,lamppost,areanode表,并取出表中t_name,lpt_name,road_name,area_name.

String[] lightnodeid =new String[1];

con1 = DBConnection.getConnection();

ps1 = con1.prepareStatement("select lt_name,lpt_name,road_name,area_name from warning w"

+ " left join lightnode on (w_lightnodeid=lt_id)"

+ " left join lamppost on (lt_lamppostid=lpt_id) "

+ " left join roadnode on (road_id = lpt_roadId)"

+ " left join areanode on (area_id=road_areaId)"

+ " where w.lightnodeid = lightnodeid[0]"

);

rs1 = ps1.executeQuery();

while (rs.next()){lightnodeid[0]=rs.getString("lightnodeid");}

sql.append(" where op_userid like '%").append(lightnodeid[0])

.append("%' ");

DBConnection.free(rs1, ps1, con1);

*/

while (rs.next()) {

WarnDto dto = new WarnDto();

dto.setId(rs.getString("w_id"));

dto.setWarnName(rs.getString("w_name"));

dto.setContext(rs.getString("w_context"));

dto.setIsWarn(rs.getString("w_iswarn"));

dto.setPosition(rs.getString("w_position"));

dto.setCancelReasons(rs.getString("w_cancelreasons"));

dto.setCancelWarnUserId(rs.getString("w_cancelwarnuserid"));

dto.setCancelWarnUserName(rs.getString("w_cancelwarnusername"));

dto.setCancelDate(rs.getString("w_cancelwarndate"));

dto.setSysDate(rs.getString("w_warnDate"));

dto.setLtName(rs.getString("lt_name"));

dto.setLptName(rs.getString("lpt_name"));

dto.setRoadName(rs.getString("road_name"));

dto.setAreaName(rs.getString("area_name"));

list.add(dto);

}

page.setList(list);

page.setCurrPage(Integer.parseInt(pageNum));

}

} catch (Exception ex) {

ex.printStackTrace();

} finally {

DBConnection.free(rs, ps, con);

}

return page;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: