java 设计模式(DAO)的实例详解
发布时间:2020-12-14 22:29:58 所属栏目:Java 来源:网络整理
导读:java 设计模式(DAO)的实例详解 应用场景 :在Java程序中,经常需要把数据持久化,也需要获取持久化的数据,但是在进行数据持久化的过程中面临诸多问题(如:数据源不同、存储类型不同、供应商不同、访问方式不同等等),请问如何能以统一的接口进行数据持
java 设计模式(DAO)的实例详解 应用场景:在Java程序中,经常需要把数据持久化,也需要获取持久化的数据,但是在进行数据持久化的过程中面临诸多问题(如:数据源不同、存储类型不同、供应商不同、访问方式不同等等),请问如何能以统一的接口进行数据持久化的操作? 其实这个我没学号(R n Q)。我的理解就是一个产品面向的用户不是单一的,所以我们要兼容许多情况如前面提到的数据源不同、存储类型不同、供应商不同、访问方式不同等等。 ★ 解决方案 DAO的理解: 1、DAO其实是利用组合工厂模式来解决问题的,并没有带来新的功能,所以学的其实就是个思路。 项目种文件样子: 一些代码实现 接口 public interface DepDAO { public void create(String userId,String name); } 工厂方法(多个选择实现) public class F1Factory { private F1Factory(){ } public static DepDAO getDepDAO(){ //根据用户在配置文件中指定的类型来选择具体的某个实现类 //type:类似我们学号指定的信息: 14+ 06+ 601+ 01 // 本例如: 1(type1机器类型)+ 2(type2存储类型)+ 2(type3供应商) + 1(type4访问方式) int type1=1;//第1层工厂的选择类型,按理应该从用户的配置信息中获取,这里直接模拟了 if(type1==1){ return F2AFactory.getDepDAO(); }else if(type1==2){ return F2BFactory.getDepDAO(); } return null; } } public class F2AFactory { private F2AFactory(){ } public static DepDAO getDepDAO(){ int type2=2;//第2层工厂的选择类型,按理应该从用户的配置信息中获取,这里直接模拟了 if(type2==1){ // return F3A_ODB_Factory.getDepDAO(); }else if(type2==2){ return F3_A_RDB_Factory.getDepDAO(); }else if(type2==3){ //return F3_A_XML_Factory.getDepDAO(); }else if(type2==4){ //return F3_A_FileFactory.getDepDAO(); } return null; } } 还有几个工厂方法类似就不贴出来了 实现类 public class DepEJB_Impl implements DepDAO{ @Override public void create(String userId,String name) { System.out.println("利用JPA_Impl向数据库写入:"+userId+","+name); } } 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Java Apache POI中更新现有的Excel文件
- java – 扩展线程优于实现Runnable的方案?
- 详解Java文件下载的几种实现方式
- 迁移Jersey项目以在jersey.repackaged.org.objectweb.asm.C
- 来自MARS的ODBC是来自VENUS的ADO/OLEDB吗?
- java – 无法使用getApplication方法强制转换为Application
- 使用java代码检测jar内的main.
- java – 我应该在代码中添加ActionListener的方式和位置?
- java – 不支持请求方法’POST’
- java – 您自己的OpenID Connect提供程序(开源)