在数据库中一个表的时间字段采用的是sysdate插入数据,在java代码中邪查询语句,需要将时间显示出来的话,这是只能采用字符串的形式才显示到时分秒,如果采用Date.转换的形式,只能得到年月日时间段。因此设计时采用String 类型声明该对象,在查询的时候将Date类型转为字符串类型去查。
搜索查询拼接代码如下:
List<EmailInfo> data = new ArrayList<EmailInfo>();
// 数据库的连接
Connection conn = null;
StringBuffer sql = new StringBuffer( "select t.*, rownum as rsid from emailinfo t where 1= 1");
//sql语句的拼接
//拼接序列号
if(null!=searchemail.getSearchEmailNo()&&""!=searchemail.getSearchEmailNo()){
sql.append(" and emailno ='")
.append(searchemail.getSearchEmailNo())
.append("'");
}
//拼接接收电话
if(null!=searchemail.getSearchAcceptNum()&&""!=searchemail.getSearchAcceptNum()){
sql.append("and acceptnum like '%" )
.append(searchemail.getSearchAcceptNum())
.append("%'");
}
//学会如何对日期进行模糊查询,首先将日期格式转换成字符串的形式,再去查询
if(null!=searchemail.getSearchSendTime()&&""!=searchemail.getSearchSendTime()){
sql.append(" and (to_char(sendtime,'yyyy-MM-dd hh24:mi:ss')) LIKE '%")
.append(searchemail.getSearchSendTime())
.append("%'");
}