ssh之雇员管理系统(9)-编码优化
一、代码优化
- 我们将那些接口和实现接口的逻辑,去建立一个基础的接口和逻辑实现,让这些接口和实现去继承这些接口
- 那这个接口要怎样建立呢?这个实现的类要怎样建立呢?
这个包下面的基础接口和基础类。
我们建立这个接口BasicServiceInter.java
package com.wang.basic; import java.util.List; public interface BasicServiceInter { //生命常用的方法 //1.通过id获取对象 public Object findById(Class clazz,java.io.Serializable id); //2.统一的查询方法 public List executeQuery(String hql, Object []parameters); //3.查询分页 public List executeQueryByPage(String hql, Object []parameters,Integer pageNow,Integer pageSize); //4.添加一个对象 public void add(Object obj); //5.如果以后需要,hql->删除,修改 public List executeUpdate(String hql, Object []parameters); }
建立这个类去实现这个接口BasicService.java
package com.wang.basic; import java.io.Serializable; import java.util.List; import org.hibernate.Query; import org.hibernate.SessionFactory; public class BasicService implements BasicServiceInter { private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } /** * add增加对象,save(object) */ public void add(Object obj) { this.sessionFactory.getCurrentSession().save(obj); } /** * 查询 */ public List executeQuery(String hql, Object[] parameters) { Query query = this.sessionFactory.getCurrentSession().createQuery(hql); if (parameters != null && parameters.length > 0) { for (int i = 0; i < parameters.length; i++) { query.setParameter(i, parameters[i]); } } return query.list(); } /** * 分页 */ public List executeQueryByPage(String hql, Object[] parameters, Integer pageNow, Integer pageSize) { Query query = this.sessionFactory.getCurrentSession().createQuery(hql); if (parameters != null && parameters.length > 0) { for (int i = 0; i < parameters.length; i++) { query.setParameter(i, parameters[i]); } } return query.setFirstResult((pageNow-1)*pageSize).setMaxResults(pageSize).list(); } public List executeUpdate(String hql, Object[] parameters) { // TODO Auto-generated method stub return null; } /** * 根据id得到对象 */ public Object findById(Class clazz, Serializable id) { return this.sessionFactory.getCurrentSession().get(clazz, id); } }
这里用到Query在这个包下面org.hibernate.Query
让那些接口去继承这个接口,让那些类去继承那个类,这样我们就可以看成是在调用那个最基础的类,也就是最公用的类。
作者:少帅
出处:少帅的博客--http://www.cnblogs.com/wang3680
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但请保留该声明。
支付宝 微信