这三段代码可以简化一下么?或者是融合一下

    //判断是否从搜索条件传递的值
    if (!StringUtils.isEmpty(k)) {
        session.setAttribute("name", name);
    } else if (session.getAttribute("name") != null) {
        name=session.getAttribute("name").toString();
    }
    //判断是否从搜索条件传递的值
    if (!StringUtils.isEmpty(k)) {
        session.setAttribute("startTime", startTime);
    } else if (session.getAttribute("startTime") != null) {
        startTime=session.getAttribute("startTime").toString();
    }
    //判断是否从搜索条件传递的值
    if (!StringUtils.isEmpty(k)) {
        session.setAttribute("endTime", endTime);
    } else if (session.getAttribute("endTime") != null) {
        endTime=session.getAttribute("endTime").toString();
    }

你说的是sql语句还是代码?
你的代码只是session存值取值,哪来的模糊查询区间查询?

    //判断是否从搜索条件传递的值
    if (!StringUtils.isEmpty(k)) {
        session.setAttribute("name", name);
        session.setAttribute("startTime", startTime);
       session.setAttribute("endTime", endTime);
    } else{
    name= session.getAttribute("name") != null?session.getAttribute("name").toString():name;
    startTime= session.getAttribute("startTime") != null?session.getAttribute("startTime").toString():startTime;
    endTime= session.getAttribute("endTime") != null?session.getAttribute("endTime").toString():endTime;
 
}