使用配置方式进行ssh的整合以及管理员管理的案例

发表于:2015-8-25 13:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:sf.zeng    来源:51Testing软件测试网采编

  (二)Service
  (1)BaseService
  public interface BaseService {
  /**
  * 保存实体对象
  * @param entity
  * @return
  */
  Serializable save(Object entity);
  /**
  * 保存或者更新实体对象
  * @param entity
  */
  void saveOrUpdate(Object entity);
  /**
  * 更新实体对象
  * @param entity
  */
  void update(Object entity);
  /**
  * 删除实体对象
  * @param entity
  */
  void delete(Object entity);
  /**
  * 根据id删除实体对象
  * @param clazz
  * @param id
  */
  void deleteById(final Class clazz,Integer id);
  /**
  * 更具id查询实体对象
  * @param id
  * @return
  */
  Object getObject(Class clazz,Integer id);
  /**
  * 查询所有实体对象
  * @param clazz
  * @return
  */
  List getObjects(final Class clazz);
  /**
  * 分页查询实体对象
  * @param clazz
  * @param firstResult
  * @param MaxResults
  * @return
  */
  List getObjects(final Class clazz, final int firstResult,
  final int MaxResults);
  /**
  * 获取总记录数
  * @param clazz
  * @return
  */
  Integer getCount(final Class clazz);
  /**
  * 条件查询分页实体对象
  * @param clazz
  * @param whereSql
  * @param firstResult
  * @param MaxResults
  * @return
  */
  List getObjects(final Class clazz, final String whereSql,
  final int firstResult, final int maxResults);
  /**
  * 条件的获取总记录数
  * @param clazz
  * @return
  */
  Integer getCount(final Class clazz,final String whereSql);
  /**
  * 条件查询分页实体对象并且有排序的字段
  * @param clazz
  * @param whereSql
  * @param firstResult
  * @param MaxResults
  * @return
  */
  List getObjects(final Class clazz, final String whereSql,
  final int firstResult, final int maxResults,final String sort,final String order);
  /**
  * 批量删除实体bean
  * @param ids
  */
  void deleteObjects(Class clazz,String ids);
  }
  (2)AdminService
  public interface AdminService extends BaseService {
  }
  (3)BaseServiceImpl
  public class BaseServiceImpl implements BaseService {
  private BaseDao baseDao;
  public void setBaseDao(BaseDao baseDao) {
  this.baseDao = baseDao;
  }
  @Override
  public Serializable save(Object entity) {
  // TODO Auto-generated method stub
  return baseDao.save(entity);
  }
  @Override
  public void saveOrUpdate(Object entity) {
  baseDao.saveOrUpdate(entity);
  }
  @Override
  public void update(Object entity) {
  baseDao.update(entity);
  }
  @Override
  public void delete(Object entity) {
  baseDao.delete(entity);
  }
  @Override
  public void deleteById(Class clazz, Integer id) {
  baseDao.deleteById(clazz, id);
  }
  @Override
  public List getObjects(Class clazz) {
  return baseDao.getObjects(clazz);
  }
  @Override
  public List getObjects(Class clazz, int firstResult, int maxResults) {
  return baseDao.getObjects(clazz, firstResult, maxResults);
  }
  @Override
  public Integer getCount(Class clazz) {
  return baseDao.getCount(clazz);
  }
  @Override
  public List getObjects(Class clazz, String whereSql, int firstResult,
  int maxResults) {
  return baseDao.getObjects(clazz, whereSql, firstResult, maxResults);
  }
  @Override
  public Integer getCount(Class clazz, String whereSql) {
  return baseDao.getCount(clazz, whereSql);
  }
  @Override
  public List getObjects(Class clazz, String whereSql, int firstResult,
  int maxResults, String sort, String order) {
  return baseDao.getObjects(clazz, whereSql, firstResult, maxResults,
  sort, order);
  }
  @Override
  public Object getObject(Class clazz, Integer id) {
  // TODO Auto-generated method stub
  return baseDao.getObject(clazz, id);
  }
  @Override
  public void deleteObjects(Class clazz, String ids) {
  // 拆分ids的字符串1,2,13
  String idarr[] = ids.split(",");
  if (idarr.length == 1) {
  baseDao.delete(baseDao.getObject(clazz, Integer.valueOf(idarr[0])));
  } else {
  for (int i = 0; i < idarr.length; i++) {
  baseDao.delete(baseDao.getObject(clazz,
  Integer.valueOf(idarr[i])));
  }
  }
  }
  }
  (4)AdminServiceImpl
  public class AdminServiceImpl extends BaseServiceImpl implements AdminService{
  private AdminDao adminDao;
  public void setAdminDao(AdminDao adminDao) {
  this.adminDao = adminDao;
  }
  }
  六、action实现
  (1)BaseAction
  public class BaseAction extends ActionSupport implements ServletContextAware,
  ServletRequestAware, SessionAware {
  // 封装servlet有关的api
  public ServletContext application;
  public HttpServletRequest request;
  public Map session;
  // 分页对象
  public Pagination pagination;
  public BaseService baseService;
  // 当前页
  public int page;
  // 每页显示的记录数
  public int rows;
  public Serializable data;
  public Integer id;
  public String ids;
  public void setIds(String ids) {
  this.ids = ids;
  }
  public void setId(Integer id) {
  this.id = id;
  }
  public Serializable getData() {
  return data;
  }
  public void setPage(int page) {
  this.page = page;
  }
  public void setRows(int rows) {
  this.rows = rows;
  }
  public Pagination getPagination() {
  return pagination;
  }
  @Override
  public void setSession(Map<String, Object> session) {
  this.session = session;
  }
  @Override
  public void setServletRequest(HttpServletRequest request) {
  this.request = request;
  }
  @Override
  public void setServletContext(ServletContext application) {
  this.application = application;
  }
  public void setBaseService(BaseService baseService) {
  this.baseService = baseService;
  }
  /**
  *转发界面
  */
  public String go(){
  return "go";
  }
  }
  (2)AdminAction
  public class AdminAction extends BaseAction implements ModelDriven<Admin>,Preparable{
  private AdminService adminService;
  private String name;
  private Admin entity;
  public void setEntity(Admin entity) {
  this.entity = entity;
  }
  public void setName(String name) {
  this.name = name;
  }
  public void setAdminService(AdminService adminService) {
  this.adminService = adminService;
  }
  public String save(){
  data = adminService.save(entity);
  return "save";
  }
  public String update(){
  System.out.println(entity.toString());
  adminService.update(entity);
  System.out.println("update");
  return "update";
  }
  public String delete(){
  adminService.deleteObjects(Admin.class,ids);
  return "delete";
  }
  public String select() {
  // 组合sql语句的操作
  String sql = spliceWhereSql();
  // 获取总记录数
  // 调用baseDao中的baseService
  long total = adminService.getCount(Admin.class, sql);
  // 创建分页对象
  pagination = new Pagination(page, rows, total);
  // 获取开始的记录数
  int firstResult = (int) pagination.getStartSize();
  // 获取每页显示的记录数
  int maxResults = rows;
  // 查询当前页中的信息
  List rows = adminService.getObjects(Admin.class, sql, firstResult,
  maxResults);
  // 设置查询出来信息 赋值给当前页对象
  pagination.setRows(rows);
  return "select";
  }
  /**
  * 组合拼接sql语句的 版权归redarmychen所有 hj
  *
  * @return
  */
  private String spliceWhereSql() {
  // 定义sql语句
  String whereSql = " where 1=1 ";
  // 拼接sql语句
  if (name != null && !"".equals(name)) {
  whereSql = whereSql + " and name like '%" + name + "%' ";
  }
  // 返回sql语句
  return whereSql;
  }
  /**
  * 登录操作
  *
  * @return
  */
  public String login() {
  return SUCCESS;
  }
  /**
  * 登录成功的初始化操作
  *
  * @return
  */
  public String init() {
  return "init";
  }
  @Override
  public void prepare() throws Exception {
  // TODO Auto-generated method stub
  }
  public void prepareSave() throws Exception {
  entity = new Admin();
  }
  public void prepareUpdate() throws Exception {
  // 如果页面中传入的参数与数据库中的字段完全一致,则只需要new一个新的对象,否则调用
  // adminService.getObject(Category.class, id)这个方法查询数据,返回这个对象即可
  entity = (Admin) adminService.getObject(Admin.class, id);
  }
  @Override
  public Admin getModel() {
  // TODO Auto-generated method stub
  return entity;
  }
  }
43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号