当前位置: 首页 > news >正文

做微博长图的网站seo是做什么工作的

做微博长图的网站,seo是做什么工作的,wordpress免签约支付,如何做网站服务器映射有时候我们在实现不同功能的时候回看到很多的Dao层的增加、修改、删除、查找都很相似#xff0c;修改我们将他们提取BaseDao一、提取前1. 提取前的LinkDao层#xff1a;public interface LinkManDao {Integer findCount(DetachedCriteria detachedCriteria);List findByPage(…有时候我们在实现不同功能的时候回看到很多的Dao层的增加、修改、删除、查找都很相似修改我们将他们提取BaseDao一、提取前1. 提取前的LinkDao层public interface LinkManDao {Integer findCount(DetachedCriteria detachedCriteria);List findByPage(DetachedCriteria detachedCriteria, Integer startIndex, Integer pageSize);void save(LinkMan linkMan);LinkMan findById(Long lkm_id);void update(LinkMan linkMan);void delete(LinkMan linkMan);}2. 提取前的LinkDaoImpl:Repositorypublic class LinkManDaoImpl implements LinkManDao {Autowiredprivate HibernateTemplate hibernateTemplate;Overridepublic Integer findCount(DetachedCriteria detachedCriteria) {//select count(*) from LinkMandetachedCriteria.setProjection(Projections.rowCount());List list (List) hibernateTemplate.findByCriteria(detachedCriteria);if(list ! null list.size() 0) {return list.get(0).intValue();}return null;}Overridepublic List findByPage(DetachedCriteria detachedCriteria, Integer startIndex, Integer pageSize) {detachedCriteria.setProjection(null);return (List) hibernateTemplate.findByCriteria(detachedCriteria, startIndex, pageSize);}Overridepublic void save(LinkMan linkMan) {hibernateTemplate.save(linkMan);}//Dao层根据id查找联系人Overridepublic LinkMan findById(Long lkm_id) {return hibernateTemplate.get(LinkMan.class, lkm_id);}//Dao层更新联系人信息Overridepublic void update(LinkMan linkMan) {hibernateTemplate.update(linkMan);}//Dao层删除联系人Overridepublic void delete(LinkMan linkMan) {hibernateTemplate.delete(linkMan);}}3. 提取前的CustomerDaopublic interface CustomerDao{void save(Customer customer);Integer findCount(DetachedCriteria detachedCriteria);List findByPage(DetachedCriteria detachedCriteria, Integer startIndex, Integer pageSize);Customer findById(Long cust_id);void delete(Customer customer);void update(Customer customer);List findAll();}4.提取前的CustomerDaoImplRepositorypublic class CustomerDaoImpl implements CustomerDao {//注入hibernateTemplate模板Autowiredprivate HibernateTemplate hibernateTemplate;/*** Dao层保存客户信息实现方法* Title: CustomerDaoImpl* Description: * param customer* see com.sshcrm.dao.CustomerDao#saveCustomer(com.sshcrm.pojo.Customer)*/Overridepublic void saveCustomer(Customer customer) {hibernateTemplate.save(customer);}//根据条件查询结果集的总记录数Overridepublic Integer findCount(DetachedCriteria detachedCriteria) {//select count(*) from CustomerdetachedCriteria.setProjection(Projections.rowCount());List list (List) hibernateTemplate.findByCriteria(detachedCriteria);if(list ! null list.size() 0) {return list.get(0).intValue();}return null;}//根据查询条件查询总页数Overridepublic List findByPage(DetachedCriteria detachedCriteria, Integer startIndex, Integer pageSize) {//由于在统计总记录数的时候已经修改了发送的SQL语句在此需要需要清空detachedCriteria.setProjection(null);return (List) hibernateTemplate.findByCriteria(detachedCriteria, startIndex, pageSize);}Overridepublic Customer findById(Long cust_id) {return hibernateTemplate.get(Customer.class, cust_id);}Overridepublic void delete(Customer customer) {hibernateTemplate.delete(customer);}Overridepublic void update(Customer customer) {hibernateTemplate.update(customer);}Overridepublic List findAll() {return (List) hibernateTemplate.find(from Customer);}}5.可以看到CustomerDaoImpl和LinkManDaoImpl方法很相似所以需要提取二、利用在子类中传递真正的Class类型来提取BaseDao编写泛型1. BaseDao层public interface BaseDao {void save(T t);void update(T t);void delete(T t);public T findById(Serializable id);public List findAll();public Integer findCount(DetachedCriteria detachedCriteria);public List findByPage(DetachedCriteria detachedCriteria, Integer startIndex, Integer pageSize);}2. BaseDaoImpl层public class BaseDaoImpl implements BaseDao {private Class clazz;//提供构造方法在构造方法中让继承的子类向方法中传入具体类型Classpublic BaseDaoImpl(Class clazz) {this.clazz clazz;}//注入HibernateTemplate模板Autowiredprivate HibernateTemplate hibernateTemplate;//保存信息Overridepublic void save(T t) {hibernateTemplate.save(t);}//更新信息Overridepublic void update(T t) {hibernateTemplate.update(t);}//删除信息Overridepublic void delete(T t) {hibernateTemplate.delete(t);}//根据id查询信息Overridepublic T findById(Serializable id) {return (T) hibernateTemplate.get(this.clazz, id);}//查询所有信息Overridepublic List findAll() {return (List) hibernateTemplate.find(from this.clazz.getSimpleName());}//查询Count(*)行记录数Overridepublic Integer findCount(DetachedCriteria detachedCriteria) {detachedCriteria.setProjection(Projections.rowCount());List list (List) hibernateTemplate.findByCriteria(detachedCriteria);if(list ! null list.size() 0) {return list.get(0).intValue();}return null;}//分页查询信息Overridepublic List findByPage(DetachedCriteria detachedCriteria, Integer startIndex, Integer pageSize) {detachedCriteria.setProjection(null);return (List) hibernateTemplate.findByCriteria(detachedCriteria, startIndex, pageSize);}}3. 提取后的LinkManDaopublic interface LinkManDao extends BaseDao{}4. 提取后的LinkManDaoImplRepositorypublic class LinkManDaoImpl extends BaseDaoImpl implements LinkManDao {//提供构造参数在构造方法中传入具体类型的Classpublic LinkManDaoImpl() {super(LinkMan.class);}Autowiredprivate HibernateTemplate hibernateTemplate;}5.提取后的CustomerDaopublic interface CustomerDao extends BaseDao {}6. 提取后的CustomerDaoImplRepositorypublic class CustomerDaoImpl extends BaseDaoImpl implements CustomerDao {//提供构造参数在构造方法中传入具体的Classpublic CustomerDaoImpl() {super(Customer.class);// TODO Auto-generated constructor stub}//注入hibernateTemplate模板Autowiredprivate HibernateTemplate hibernateTemplate;}7.  如果这样抽取完成以后那么在编写DAO的时候如果里面都是一些CRUD的操作在DAO中只需要提供构造方法即可。三、如果将通用的DAO编写的更好连构造方法都不想要了需要怎么做  泛型反射1 解决方案二通过泛型的反射抽取通用的DAOl  如果现在将DAO中的构造方法去掉将父类的通用的DAO中提供无参数的构造即可但是需要在无参数的构造中需要获得具体类型的Class才可以-----涉及到泛型的反射了。l  回顾一下泛型泛型         通用的类型。             念为  typeofList     E称为类型参数变量ArrayList  Integer称为是实际类型参数ArrayList  ArrayList称为参数化类型需要做的时候在父类的构造方法中获得子类继承父类上的参数化类型中的实际类型参数泛型反射的步骤第一步获得代表子类对象的Class第二步查看APIType[] getGenericInterfaces();        :获得带有泛型的接口可以实现多个接口。Type getGenericSuperclass();          :获得带有泛型的父类继承一个类。第三步获得带有泛型的父类第四步将带有泛型的父类的类型转成具体参数化的类型第五步通过参数化类型的方法获得实际类型参数2. 代码实现2.1 修改BaseDaoImpl里面的无参构造方法public class BaseDaoImpl implements BaseDao {private Class clazz;//提供构造方法在构造方法中让继承的子类向方法中传入具体类型Class/*** 不想子类上有构造方法必须在父类中提供无参的构造,在无参构造中获取具体的类型Class* 具体类型中的Class是参数类型中的实际类型 参数*/public BaseDaoImpl() {//反射第一步获得ClassClass clazz this.getClass();//正在被调用的那个类的ClassCustomerDaoImpl或LinkManDaoImpl//具体查看JDK的APIType type clazz.getGenericSuperclass();//参数化类型BaseDaoImpl,BaseDaoImpl//得到的type就是一个参数化类型将type强转为参数化类型ParameterizedType pType (ParameterizedType) type;//通过参数化类型获得实际类型参数得到一个实际类型参数的数组Type[] types pType.getActualTypeArguments();//只获得第一参数类型即可this.clazz (Class) types[0];//得到CustomerLinkMan}//注入HibernateTemplate模板Autowiredprivate HibernateTemplate hibernateTemplate;//保存信息Overridepublic void save(T t) {hibernateTemplate.save(t);}//更新信息Overridepublic void update(T t) {hibernateTemplate.update(t);}//删除信息Overridepublic void delete(T t) {hibernateTemplate.delete(t);}//根据id查询信息Overridepublic T findById(Serializable id) {return (T) hibernateTemplate.get(this.clazz, id);}//查询所有信息Overridepublic List findAll() {return (List) hibernateTemplate.find(from this.clazz.getSimpleName());}//查询Count(*)行记录数Overridepublic Integer findCount(DetachedCriteria detachedCriteria) {detachedCriteria.setProjection(Projections.rowCount());List list (List) hibernateTemplate.findByCriteria(detachedCriteria);if(list ! null list.size() 0) {return list.get(0).intValue();}return null;}//分页查询信息Overridepublic List findByPage(DetachedCriteria detachedCriteria, Integer startIndex, Integer pageSize) {detachedCriteria.setProjection(null);return (List) hibernateTemplate.findByCriteria(detachedCriteria, startIndex, pageSize);}}2.2 现在LinkDao和CustomerDao不用改变修改LinkDaoImpl和CustomerDaoImplRepositorypublic class LinkManDaoImpl extends BaseDaoImpl implements LinkManDao {//提供构造参数在构造方法中传入具体的Class/* public LinkManDaoImpl() {super(LinkMan.class);}*/Autowiredprivate HibernateTemplate hibernateTemplate;}Repositorypublic class CustomerDaoImpl extends BaseDaoImpl implements CustomerDao {//提供构造参数在构造方法中传入具体的Class/*public CustomerDaoImpl() {super(Customer.class);// TODO Auto-generated constructor stub}*///注入hibernateTemplate模板Autowiredprivate HibernateTemplate hibernateTemplate;}2.3 后面如果Dao层有特殊方法是可以在比如CustomerDaoImpl中去实现相似的就不需要了以此来到达抽取Dao层以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。
http://wiki.neutronadmin.com/news/8601/

相关文章:

  • 网站开发 怎样做费用结算商务网站建设学期总结
  • 精细化学品网站建设涿州网站制作
  • 怎样能让百度搜到自己的网站万网建网站教程
  • 网站开发验收方案seo优化或网站编辑
  • 苏省住房和城乡建设厅网站首页哪些网站用天平做logo
  • 最专业网站建wordpress卸载多说
  • 河北网站快速排名建设谷歌站群系统
  • 牡丹区建设局网站沈阳新联会是什么组织做什么
  • 南京建设网站多少钱免费自建网站工具
  • logo网站设计论文龙岩属于哪里
  • 临沂网站建设制作中山网站优化排名
  • 昆明网站建设推广公司哪家好360网站弹窗推广怎么做的
  • 高端网站定做城乡建设住房建设厅官方网
  • 淘宝优惠劵网站怎么做沧州做网站哪家好
  • 濮阳佳杰网站建设巧用不对称做网站和彩票的同步开奖怎么做
  • 什么样的网站容易做seo线下推广的渠道和方法
  • wordpress添加文章页不显示网站怎么做优化百度能搜索到
  • html5网站开发技术小蜜蜂wordpress采集
  • 个人网站备案地址选择梧州市建设局官方网站
  • 运营网站是多少wordpress检测手机端
  • 网站seo诊断方案怎么做电影网站吗
  • git网站开发如何给自己公司做一个网站
  • 洛阳网站建设哪家公司好提供建立网站服务的公司
  • 浦东高端网站开发html网站免费下载
  • 邢台微信网站网站建设板块建议
  • 鲜花网站开发wordpress底部链接
  • h5网站用什么软件做出入成都最新通知今天
  • 网站建设与推广的步骤域名买好怎么开始做网站
  • 常州h5网站建设网站后台怎么上传图片产品
  • 大连做网站价钱邯郸seo推广