增删改查模板java-基于模板模式用java语言实现基本的增删改查(快到起飞)_第1页
增删改查模板java-基于模板模式用java语言实现基本的增删改查(快到起飞)_第2页
增删改查模板java-基于模板模式用java语言实现基本的增删改查(快到起飞)_第3页
增删改查模板java-基于模板模式用java语言实现基本的增删改查(快到起飞)_第4页
增删改查模板java-基于模板模式用java语言实现基本的增删改查(快到起飞)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java_java语实现基本的增删改查(快到起飞)1.模板模式介绍上有很多的模板模式的介绍,既然是我的笔记,然要写点关于我的理解。其实关于模板模式,我国古代的时候就有过这样的例-北宋庆历间(1041年-1048年)中国的毕昇发明了个活字印刷术。,从那会那开始,模板就成为了我们活中不可或缺的部分。回到正题,既然是模板模式,就是要将代码中重复率较的的那段代码给抽象出来,然后要使这部分抽象出来的代码就可以直接继承或者是实现这部分抽象出来的代码即可。下以常的增删改查应下这个模板模式的设计模式(可以提写代码的效率)。2.MVC架构中抽象出增删改查这使ssm架构来实现。2.1 抽象Dao层模板般来说dao

2、是个个接,每个接对应着个mapper类,那么这每个mapper就有可能增删改查,想象下,要是整个项多达70,80多张甚是100多张的时候,这个时候就显出了模板模式的优势了,它可以让你少写很多的代码,提写代码的速度。下来将dao层的基本的增删改查都抽象出来:public interface TempleteDao int deleteByPrimaryKey(Integer id);int insert(T record);int insertSelective(T record);T selectByPrimaryKey(Integer id);int updateByPrimaryKeySe

3、lective(T record);int updateByPrimaryKey(T record);List selectAll();2.2 抽象service层的接模板package com.yyc.Templete;import java.util.List;public interface TempleteService / 添加void add(T record);/ 修改void update(T record);/ 查询全部List list();/ 删除void delete(Integer id);/ 获取个T get(Integer id);/ 想要实现必须要个钩,详细解释

4、看下TempleteDao getDao();钩:这钩的其实意思很简单,service层要调dao层的法,就需要个dao对象,但是抽象出来的要么是接,要么就是抽象类,况且这个dao对象千变万化,谁也不知道在使这些模板的时候调的是哪个dao对象,所以这直接定义个获取dao对象的法,可以写在service接,或者是service实现类的接都可以。有这个钩就可以把所有的法全部勾住。2.3 service层实现类service实现类定义成抽象类,并且实现service接package com.yyc.Templete;import java.util.List;public abstract clas

5、s TempleteServiceImpl implements TempleteServiceOverridepublic void add(T record) getDao().insertSelective(record);Overridepublic void update(T record) getDao().updateByPrimaryKeySelective(record);Overridepublic List list() return getDao().selectAll();Overridepublic void delete(Integer id) getDao().

6、deleteByPrimaryKey(id);Overridepublic T get(Integer id) return getDao().selectByPrimaryKey(id);2.4 抽象controller的模板package com.yyc.Templete;import java.util.List;public abstract class TempleteController public abstract TempleteService getService();/ 查询全部public List list() return getService().list();/

7、 删除public String delete(Integer id) getService().delete(id);return redirect:/list;/ 获取个public T get(Integer id) return getService().get(id);/ 添加public void add()public String saveAdd(T record) getService().add(record);return redirect:/list;public void update()/ 更新public String saveUpdate(T record) g

8、etService().update(record);return redirect:/list;所有的模板直接定义好了,下就可以愉快的使了。3.使阶段3.1 直接继承dao接模板/ 泛型般是实体类public interface DictionaryTypeDao extends TempleteDao / 什么都不写,接直接都有了3.2 直接继承service接模板public interface DictionaryTypeService extends TempleteService / 还是什么都不写。3.3 直接继承service实现类模板并实现原本就需要实现的service接特别

9、需要注意的是,这的“钩”必须要提供给它Servicepublic class DictionaryTypeServiceImpl extends TempleteServiceImpl implements DictionaryTypeServiceAutowiredDictionaryTypeDao dictionaryTypeDao;/ 提供钩Overridepublic TempleteDao getDao() return dictionaryTypeDao;3.4 继承controller模板注意:注解是不能继承的,所以这重写类的所有法(IDEA不到1秒成),标上注解,就可以愉快的使

10、了。当然特有的法在继承的时候需要单独的添加进去哦!ControllerRequestMapping(/dict)public class DictionaryTypeController extends TempleteController AutowiredDictionaryTypeService dictionaryTypeService;Overridepublic TempleteService getService() return dictionaryTypeService;RequestMapping(/add)Overridepublic void add() super.a

11、dd();RequestMapping(/saveAdd)Overridepublic String saveAdd(DictionaryType record) super.saveAdd(record);return redirect:/dict/list;RequestMapping(/edit)public DictionaryType update(int id) super.update();return dictionaryTypeService.get(id);RequestMapping(/saveUpdate)Overridepublic String saveUpdate(DictionaryType record) Util.getRequest().getAttribute();super.saveUpdate(record);return redirect:/dict/list;RequestMapping(/list)Overridepublic List list() return super.list();RequestMapping(/delete)Overridepu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论