1.建立临时model类(由User类和Student类组成):
public class UserTmp{
private Integer userId;
private String userName;
private Integer userSex;
private String userAddress;
private String stuId;
private String stuName;
public void setUserId(Integer userId)
{
this.userId=userId;
}
public Integer getUserId()
{
return userId;
}
//剩下的省略
}
2.DAO接口:
public inteface IUserDAO{
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception;
}
3实现DAO类:
public class UserDAO extends BaseDaoHibernate< UserTmp, Long> implements IUserDAO{
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception
{
StringBuilder sql=new StringBuilder();
sql.append("select * from ( ");
sql.append(" select userId,userName,userAddress,createTime from Users ");
sql.append(" left join ");
sql.append(" select stuId,stuName from Student on Users.userId=Student.stuId ) t where 1=1 ");
if(StringUtils.isNotBlank(userId))
{
sql.append(" and t.userId="+Integer.parseInt(userid));
}
if(StringUtils.isNotBlank(userName))
{
sql.append(" and t.userName='"+userName+"'");
}
if(StringUtils.isNotBlank(startTime))
{
sql.append(" and t.createTime >='"+startTime+" 00:00:00.000'");
}
if(StringUtils.isNotBlank(endTime))
{
sql.append(" and t.createTime <='"+endTime+" 23:59:59.999'");
}
sql.append(" order by t.createTime desc ");
Pagination p = pagedSqlQuery(sql.toString(), pageNo, pageSize);
return convertPaginationToPaginationBaIspImgFile(p); }
}
4.Service接口:
public inteface IUserService {
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception; }
5.实现Service接口类:
public class UserService implements IUserService{
@Resource
private UserDAO userDao;
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception
{
return userDao.findUserTmpCount(userId,userName,dateStartTime,dateEndTime,pageNo,pageSize);
}
}
6.Action调用
public class UserAction extends ActionSupport{
@Resource
private IUserSerice userService;
private Integer userId;
private String userName;
private List<UserTmp> userTmpList;
//get/set方法省略
private int pageSize=10;
public String showQuery()
{
try
{
Pagination data=userService.findUserTmpCount(userId, username, createStartTime, createEndTime, getCurrentPage(), pageSize);
userTmpList=(List<UserTmp>)data.getList();
setTotalPage(data.getTotalPage());
totalCount=data.getTotalCount();
pagination=data;
}
catch(Exception ex)
{
log.error("异常",ex);
}
return SUCCESS;
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步