- 浏览: 122148 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
roychenyi:
<br>1<br>2<br> ...
pager-taglib 使用说明 -
roychenyi:
<br>换行<br>换行<br& ...
pager-taglib 使用说明 -
wangwenfei1985:
[flash=200,200][url][img][list] ...
pager-taglib 使用说明 -
时光后19:
,看到你这样真好,
FileNet调用webService配置 -
ysen:
大sql导入mysql
如果是SQL格式的。有的可能上100 ...
mysqldump备份详解
因为之前使用的mysql 现在想转为Oracle实现
如何改能降低最大的工作量
DaoFactory 类 里面组合了 Dao的实例
ServiceFactory 类 里面 组合了 Service实例
ps:这两个类不算工厂类 应将类名Factory改成Contextg更合适
具体下面贴代码
public class DaoFactory { private static IAccountDao accountDao = new AccountDaoImpl(); private static IAffairDao affairDao = new AffairDaoImpl(); private static IStateDao stateDao = new StateDaoImpl(); private static IPersonnelDao personnelDao = new PersonnelDaoImpl(); private static IAnnouncementDao announcementDao = new AnnouncementDaoImpl(); private static IStatDao statDao = new StatDaoImpl(); private static IDepartmentDao departmentDao = new DepartmentDaoImpl(); private static IPositionDao positionDao = new PositionDaoImpl(); private static IInformationDao informationDao = new InformationDaoImpl(); private static IDaysDao daysDao = new DaysDaoImpl(); private static IWeekDao weekDao = new WeekDaoImpl(); private static IWorkContentDao workContentDao = new WorkContentDaoImpl(); private static IEmployeeManageDao employeeManageDao = new EmployeeManageDaoImpl(); private static IHolidayDao holidayDao = new HolidayDaoImpl(); private static IHolidayTypeDao holidayTypeDao = new HolidayTypeDaoImpl(); private static IMessageDao messageDao = new MessageDaoImpl(); public static IMessageDao getMessageDao() { return messageDao; } public static IAccountDao getAccountDao() { return accountDao; } public static IAffairDao getAffairDao() { return affairDao; } public static IStateDao getStateDao() { return stateDao; } public static IPersonnelDao getPersonnelDao() { return personnelDao; } public static IAnnouncementDao getAnnouncementDao() { return announcementDao; } public static IStatDao getStatDao() { return statDao; } public static IDepartmentDao getDepartmentDao() { return departmentDao; } public static IPositionDao getPositionDao() { return positionDao; } public static IInformationDao getInformationDao() { return informationDao; } public static IDaysDao getDaysDao() { return daysDao; } public static IWeekDao getWeekDao() { return weekDao; } public static IWorkContentDao getWorkContentDao() { return workContentDao; } public static IEmployeeManageDao getEmployeeManageDao() { return employeeManageDao; } public static IHolidayDao getHolidayDao() { return holidayDao; } public static IHolidayTypeDao getHolidayTypeDao() { return holidayTypeDao; } }
public class ServiceFactory { private static IAccountService accountService = new AccountServiceImpl(); private static IAffixService affixService = new AffixServiceImpl(); private static IAffairService affairService = new AffairServiceImpl(); private static IStateService stateService = new StateServiceImpl(); private static IPersonnelService personnelService = new PersonnelServiceImpl(); private static IAnnouncementService announcementService = new AnnouncementServiceImpl(); private static IStatService statService = new StatServiceImpl(); private static IDepartmentService departmentService = new DepartmentServiceImpl(); private static IWorkContentService workContentService = new WorkContentServiceImpl(); private static IInformationService informationService = new InformationServiceImpl(); private static IPositionService positionService = new PositionServiceImpl(); private static IDaysService daysService = new DaysServiceImpl(); private static IWeekService weekService = new WeekServiceImpl(); private static IEmployeeManageService employeeManageService = new EmployeeServiceImpl(); private static IHolidayService holidayService = new HolidayServiceImpl(); private static IHolidayTypeService holidayTypeService = new HolidayTypeServiceImpl(); private static IMessageService messageService = new MessageServiceImpl(); public static IMessageService getMessageService() { return messageService; } public static IEmployeeManageService getEmployeeManageService() { return employeeManageService; } public static IAccountService getAccountService() { return accountService; } public static IAffixService getAffixService() { return affixService; } public static IAffairService getAffairService() { return affairService; } public static IStateService getStateService() { return stateService; } public static IPersonnelService getPersonnelService() { return personnelService; } public static IAnnouncementService getAnnouncementService() { return announcementService; } public static IStatService getStatService() { return statService; } public static IDepartmentService getDepartmentService() { return departmentService; } public static IWorkContentService getWorkContentService() { return workContentService; } public static IInformationService getInformationService() { return informationService; } public static IPositionService getPositionService() { return positionService; } public static IDaysService getDaysService() { return daysService; } public static IWeekService getWeekService() { return weekService; } public static IHolidayService getHolidayService() { return holidayService; } public static IHolidayTypeService getHolidayTypeService() { return holidayTypeService; } }
例如 AccountServiceImpl 的实现
public class AccountServiceImpl implements IAccountService { public AccountBean login(String name, String password) { return DaoFactory.getAccountDao().login(name, password); } }
评论
19 楼
mercyblitz
2010-03-22
F.B.I 写道
如果你要换数据库首先如果有框架ibtais你肯定不要选,hibernate对数据量不大的情况下还是可行
另外 spring jdbcTemple自己封装下也一般可行,如果不选任何框架,那只有自己封装了,我个人愚见,项目里使用spring还是不错的,最起码new这个词在我的代码里,看不到的,感觉极其丑陋。
另外 spring jdbcTemple自己封装下也一般可行,如果不选任何框架,那只有自己封装了,我个人愚见,项目里使用spring还是不错的,最起码new这个词在我的代码里,看不到的,感觉极其丑陋。
为啥new就丑陋呢?
18 楼
ysen
2010-01-04
想想用反射加配置文件的方法
17 楼
ssuupv
2009-12-31
spring 可以零配置了
16 楼
hz86655032
2009-12-31
关键看你DAOIMPL是怎么实现的,一般用hibernate之类的框架你就改改DATASOURCE就可以了.你要是手动JDBC实现的DAOIMPL,那只能自己再手动写套ORACLE的实现了.
15 楼
tibetjungle
2009-12-21
底层数据库切换,主要是对DAO层的影响。现在lz要从Mysql切换到Oracle,如果dao写中使用的sql脚本在Mysql和Oracle都适用,就不存在切换的障碍。
如果dao中写了一些mysql专用的代码,直接修改就可以了啊。其实用框架也存在类似需要修改代码的问题啊(特别是Ibatis)。no silver bullet.
如果dao中写了一些mysql专用的代码,直接修改就可以了啊。其实用框架也存在类似需要修改代码的问题啊(特别是Ibatis)。no silver bullet.
14 楼
hjw622979
2009-12-21
重写DaoFactory,如果用Spring简单些
13 楼
antD
2009-12-20
呵呵,我只觉得主要是数据库里的存储过程,和函数可能要改.其他的可能改动很少.像分页,连库串,驱动.如果分装的好改动不会太大.
12 楼
kjj
2009-12-19
datasource+facade+daoImpl 这样行了吧!!
11 楼
bigkai13
2009-12-19
说说我的思想,如果不使用框架,那就自己写一个数据库的XML配置文件。如果你使用了存储过程或者某种厂商特定的SQL语言,那么你就的改代码了
10 楼
myworkfirst
2009-12-19
1.把数据库连接串放在xml里
2.把数据库操作的sql语句放在xml里。 如果是A数据库,就调用a_sql.xml,如果是b数据库,就调用b_sql.xml
这样可适配,挺方便,对程序代码无影响
2.把数据库操作的sql语句放在xml里。 如果是A数据库,就调用a_sql.xml,如果是b数据库,就调用b_sql.xml
这样可适配,挺方便,对程序代码无影响
9 楼
mikeandmore
2009-12-19
不支持,会有很多code duplication
8 楼
Kensai
2009-12-18
DAO都没有用接口直接写的类?没有框架的情况下,直接替换实现是理所当然的吧。
像楼主这样,我完全看不出如果有方言冲突的DAO实现你如何解决?
而且即便以前没用数据库方面的框架,替换数据库DAO以后用Digest把DAO实现和Service实现用配置的方式拼装起来不是更简单吗?
要隔离数据库这一层,没有注入实在想不出能够在不改代码的情况下有很好的办法。
像楼主这样,我完全看不出如果有方言冲突的DAO实现你如何解决?
而且即便以前没用数据库方面的框架,替换数据库DAO以后用Digest把DAO实现和Service实现用配置的方式拼装起来不是更简单吗?
要隔离数据库这一层,没有注入实在想不出能够在不改代码的情况下有很好的办法。
7 楼
freespace521
2009-12-18
LZ 看下 spring 的scan 扫描 就不用写那么多配置了
6 楼
Nightlee
2009-12-18
不知道楼主想问什么,现在的代码已经是接口依赖了,替换DAO实现是很自然的事情,难道LZ是想不该daoimpl来实现?
5 楼
ysen
2009-12-18
spring 的bean 配置太多了也烦啊
4 楼
vvggsky
2009-12-18
重新实现DAO,然后再DAOFactory里面修改获取代码
3 楼
F.B.I
2009-12-18
如果你要换数据库首先如果有框架ibtais你肯定不要选,hibernate对数据量不大的情况下还是可行
另外 spring jdbcTemple自己封装下也一般可行,如果不选任何框架,那只有自己封装了,我个人愚见,项目里使用spring还是不错的,最起码new这个词在我的代码里,看不到的,感觉极其丑陋。
另外 spring jdbcTemple自己封装下也一般可行,如果不选任何框架,那只有自己封装了,我个人愚见,项目里使用spring还是不错的,最起码new这个词在我的代码里,看不到的,感觉极其丑陋。
2 楼
ysen
2009-12-18
public class DaoFactory { private static IAccountDao accountDao ; private static IAffairDao affairDao ; private static IStateDao stateDao ; private static IPersonnelDao personnelDao ; private static IAnnouncementDao announcementDao; private static IStatDao statDao; private static IDepartmentDao departmentDao ; private static IPositionDao positionDao ; private static IInformationDao informationDao ; private static IDaysDao daysDao ; private static IWeekDao weekDao ; private static IWorkContentDao workContentDao ; private static IEmployeeManageDao employeeManageDao; private static IHolidayDao holidayDao ; private static IHolidayTypeDao holidayTypeDao ; private static IMessageDao messageDao ; static{ //读取配置文件 获得数据库类型 //下面实例化 if(TYPE==mysql ){ // 实例化 IAccountService accountService = new AccountServiceImpl(); ... }else if(TYPE==oracle ){ IAccountService accountService = new AccountServiceOracleImpl(); ... } } public static IMessageDao getMessageDao() { return messageDao; } public static IAccountDao getAccountDao() { return accountDao; } public static IAffairDao getAffairDao() { return affairDao; } public static IStateDao getStateDao() { return stateDao; } public static IPersonnelDao getPersonnelDao() { return personnelDao; } public static IAnnouncementDao getAnnouncementDao() { return announcementDao; } public static IStatDao getStatDao() { return statDao; } public static IDepartmentDao getDepartmentDao() { return departmentDao; } public static IPositionDao getPositionDao() { return positionDao; } public static IInformationDao getInformationDao() { return informationDao; } public static IDaysDao getDaysDao() { return daysDao; } public static IWeekDao getWeekDao() { return weekDao; } public static IWorkContentDao getWorkContentDao() { return workContentDao; } public static IEmployeeManageDao getEmployeeManageDao() { return employeeManageDao; } public static IHolidayDao getHolidayDao() { return holidayDao; } public static IHolidayTypeDao getHolidayTypeDao() { return holidayTypeDao; } }
但是却有if else 破坏了封装性
1 楼
ysen
2009-12-18
ServiceFactory 类改不了了,因为servlet里面充斥着这样的代码
发表评论
-
email 发送接口
2012-02-29 17:48 1526企业邮件发送有自己的发送平台,其它系统包括业务系统常常将发送邮 ... -
dom4j中的单例策略
2010-04-14 13:53 1567单例模式的实现方法有很多,饿汉和饱汉 ,Double-chec ... -
OOD原则
2010-03-09 16:51 1338单一职责原则(SRP) 就一个类而言,应该仅有一个引起它 ... -
GRASP(基于职责设计对象)
2010-03-09 16:41 1444GRASP(General Responsibility A ... -
女友的对话(中介者模式也叫调停者)
2010-01-02 20:40 902需要中介者对象作为通信控制平台 所操控的抽象对象 ... -
请假 加薪(职责链模式)
2009-12-30 20:50 1250学习笔记 职责链模式的结构 和装饰模式的结构是一样的。 ... -
和女友的不愉快(访问者模式)
2009-12-13 13:59 1024老鸟飞过哈 最近和女友很不和,特此用段模式写下自己的状 ... -
起床做饭(观察者模式)
2009-12-10 23:02 1071//通知者 public class Boy { //状 ... -
朋友做客(外观模式或者门面模式)
2009-12-10 01:12 849老鸟飞过 package facade; /* ... -
城市的生活成本(模板方法)
2009-12-09 16:50 872public abstract class Boy { ... -
女友多的好处2(工厂方法)
2009-12-08 01:01 1406(老鸟略过) 之前的一篇简单方法模式连接地址 http:/ ... -
带女友干活(代理模式)
2009-12-06 23:22 1305老鸟跳过请跳过, 最近无聊,贴一些自己过去学习设计模式 ... -
老公爱吃的菜(策略模式)
2009-12-06 00:09 964将策略的上下文的构造函数换用简单工厂模式的话就将业务对象封装起 ... -
陪她们依次去旅游(装饰模式)
2009-12-05 21:52 833//梦中情人 呵呵 public c ... -
女友多的好处 (简单工厂模式)
2009-12-05 21:47 1207java 的switch 语句的case 匹配为什么不能像de ... -
不同的年龄阶段喜欢不同的女孩 (状态模式)
2009-12-05 21:32 1153讨媳妇的男孩 public class Boy { ...
相关推荐
数据库系统安全技术框架综述数据库系统安全技术框架综述数据库系统安全技术框架综述
本Demo主要展示了如何在Android平台上使用各种数据库框架,包括SQLite、ORM(对象关系映射)框架如Room、GreenDao等,以及一些流行的第三方库如Realm和SugarORM。下面将详细介绍这些数据库框架的使用方法。 1. ...
这个数据库访问控制框架工程名为dbmanager,目前的版本是1.1.8,只支持MYSQL数据库,在未来的两周时间内我会发布后续扩展版本... 本框架的具体用法和结构请大家参考我的博客文章《JAVA数据库访问控制框架设计与使用》。
- **调整数据源配置**:若依框架默认使用Druid数据源,可能需要根据达梦数据库的特点进行调整。 - **测试连接**:编写测试代码验证数据库连接是否正常,确保可以成功执行SQL语句。 **4. 数据操作** - **SQL适配**...
数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为三个层次:⑴网络系统层次;⑵宿主操作系统层次;⑶...
数据库框架是现代软件开发中不可或缺的一部分,特别是在处理大量数据存储和检索时。它提供了一种高效、便捷的方式来管理和操作数据库,使得开发人员可以专注于业务逻辑而不是底层的SQL语句。在本文中,我们将深入...
本文主要探讨的是“java数据库框架技术研究”,尤其是如何在未使用Hibernate仅依赖Struts时,构建一个自定义的小型数据库操作框架。 在早期的Java Web开发中,Struts是一个非常流行的动作(Action)框架,它主要...
在Android应用开发中,数据库...总之,这个"android数据库框架"旨在简化Android应用中的数据库操作,提供高效、易用的工具,以应对各种数据库管理需求。了解并掌握这些关键点,对于高效开发和维护Android应用至关重要。
本教程主要介绍了如何在Python的Flask框架中连接数据库,特别强调了这一技能是学习Flask框架的基础知识点。在实际开发中,数据库是保存和管理数据的重要组件,因此掌握Flask与数据库的交互对于开发Web应用至关重要。...
【部分内容】提及的是网络教学平台在教育中的应用,与Java数据库框架设计主题关联性不大,但我们可以将这两个主题结合起来,讨论Java在数据库应用和教育信息化中的作用。 在Java数据库应用框架方面,Java作为一种...
通过以上分析,我们可以看出,Python面试中的数据库框架部分涵盖广泛,从基础的数据库操作到高级的ORM使用,再到数据库设计和优化,都需要深入理解和实践。而“study”这个文件名可能包含了对这些知识的学习和研究...
golang常用库:操作数据库的orm框架-gorm基本使用 一:字段映射-模型定义 gorm中通常用struct来映射字段. gorm教程中叫模型定义 比如我们定义一个模型Model: type User struct { gorm.Model UserId int64 `gorm:...
ssm框架在线医院挂号系统mysql数据库.zipssm框架在线医院挂号系统mysql数据库.zipssm框架在线医院挂号系统mysql数据库.zipssm框架在线医院挂号系统mysql数据库.zipssm框架在线医院挂号系统mysql数据库.zipssm框架...
如何在 Go 语言中进行数据库操作与使用 ORM 框架,包括从使用 Go 原生 `database/sql` 包进行数据库连接、查询、增删改、事务处理,到选择和使用常见的 ORM 框架如 GORM、SQLBoiler 和 Ent。首先,文章详细讲解了 `...
本文实例讲述了thinkPHP5框架实现多数据库连接,跨数据连接查询操作。分享给大家供大家参考,具体如下: 1. 多数据库连接 方法1:在需要连接其他数据库的地方,使用Db::connect()方法动态连接数据库,方法参数为...
在eclipse上用Java语言进行项目开发时用到的一个JDBC框架,用于连接数据库。可以解压之后找到里面的数据库驱动信息,把数据库名和密码换成自己的,就可以重新打包放进eclipse里面用。
基于对象数据库的Java集合框架的扩展可以使程序员操作对象数据库就像使用普通的Java集合框架一样方便。该框架提供了一个统一的接口,允许程序员使用Java集合框架来访问和操作对象数据库。该框架还提供了高效的数据...
【标题】"自己动手模仿Hibernate写数据库框架"揭示了本次讨论的核心内容——尝试构建一个类似于Hibernate的数据库操作框架。Hibernate是一个流行的Java ORM(对象关系映射)框架,它简化了数据库与Java对象之间的...
封装了oracle mysql sqllite sqlserver等数据库框架,采用了ORM框架模式。使用起来简单,易用,可以去官方网站查看具体的API
SSH框架整合是对Spring、Struts和Hibernate这三个开源框架的集成,它们在Web开发中被广泛使用,特别是对于企业级应用。SSH框架的整合提供了一种高效、灵活且可扩展的解决方案,使得开发者能够轻松地进行数据库的操作...