- 浏览: 991529 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
首先在src下面新建一个配置文件daoconfig.properites
内容如下:userDaoClass=com.mengya.dao.impl.UserDaoJdbcImpl
DaoFactory类的内容如下:
public class DaoFactory {
private static UserDao userDao = null; //UserDao是UserDaoJdbcImpl的接口
private static DaoFactory instance = new DaoFactory();
private DaoFactory() {
try {
Properties prop = new Properties();
InputStream inStream = DaoFactory.class.getClassLoader()
.getResourceAsStream("daoconfig.properties");
prop.load(inStream);
String userDaoClass = prop.getProperty("userDaoClass");
Class clazz = Class.forName(userDaoClass);
userDao = (UserDao) clazz.newInstance();
} catch (Throwable e) {
throw new ExceptionInInitializerError(e);
}
}
public static DaoFactory getInstance() {
return instance;
}
public UserDao getUserDao() {
return userDao;
}
}
说明:private static UserDao userDao = null;
与private static DaoFactory instance = new DaoFactory();位置不能换。
程序执行顺序是首先申明了一个空的userDao,执行new DaoFactory()的时候将userDao实例化了,如果它们的顺序换了则会出错,userDao是null的.
测试:
public class UserDaoTest {
public static void main(String[] args) {
UserDao userDao = DaoFactory.getInstance().getUserDao();
User user = new User();
user.setBirthday(new Date());
user.setName("dao name2");
user.setMoney(1000.0f);
userDao.addUser(user);
System.out.println(user.getId());
}
}
发表评论
-
高级 DAO 编程 学习编译更好的 DAO 的技巧
2009-04-27 20:09 1642高级 DAO 编程学习编译 ... -
使用Spring的SimpleJdbcTemplate完成DAO操作
2009-04-24 09:35 10118SimpleJdbcTemplate内部包含了一个Name ... -
使用Spring的NamedParameterJdbcTemplate完成DAO操作
2009-04-24 09:18 30814NamedParameterJdbcTemplate内部包含了 ... -
使用Spring的JdbcTemplate和BeanPropertyRowMapper完成的JDBC
2009-04-23 16:55 10711先道要加上两个包:Spring2.5下面的: spring.j ... -
策略设计模式_构建公共通用的Dao
2009-04-23 09:09 1540核心代码: Connection的工具类:详见JDBC数据库 ... -
模板设计模式_构建公共通用的Dao
2009-04-23 09:02 1338核心代码: Connection的工具类:详见:JDBC数据 ... -
使用反射实现ORM
2009-04-20 22:55 1459首先Bean在符合JavaBean的要求,即有一个无参的构造方 ... -
使用反射技术调用对象的方法,得到属性,方法等信息
2009-04-20 22:55 2346package com.mengya.test; im ... -
使用反射技术构造对象
2009-04-20 22:54 1611public class Bean { privat ... -
用JDBC访问二进制类型的数据
2009-04-20 13:08 1603JDBC操作二进制类型数据(如图片或压缩包)也是通过IO字节流 ... -
用JDBC访问大段文本数据
2009-04-20 13:07 1395JDBC操作大的文本数据是通过IO字符流操作 publ ... -
我的JDBC实例
2009-04-20 13:06 21061, 首先在配置文件(system.properties)中 ... -
了解事务的隔离级别
2009-04-20 13:05 1206隔离级别多线程并发读取数据时的正确性 用法: connne ... -
可滚动结果集与分页技术
2009-04-20 13:04 1520可滚动的结果集 Statement st = ... -
可更新和对更新敏感的结果集
2009-04-20 13:04 1629可更新的结果集(说明这些都是JDBC特殊的用法,有些数据库可能 ... -
SQL注入,PreparedStatement和Statement
2009-04-20 13:01 2004在SQL中包含特殊字符或SQL的关键字(如:' or 1 or ... -
ResultSetMetaData的使用
2009-04-20 13:00 2699ResultSetMetaData能够通过ResultSet分 ... -
ParameterMetaData的使用
2009-04-20 12:59 2621ParameterMetaData pmd = prepa ... -
JDBC自动获取数据库自动生成的主键
2009-04-20 12:55 3051PreparedStatement.getGeneratedK ... -
JDBC工具类实例
2009-04-20 12:53 1481System.properties配置文件(放在src下面) ...
相关推荐
而DAO工厂模式则进一步抽象了DAO的创建过程,提供了一种灵活的方式来实例化不同类型的DAO,以操作不同的数据表或数据源。 1. **DAO(数据访问对象)**:包含具体的数据操作方法,如CRUD(Create, Read, Update, ...
在这个基于DAO工厂模式的三层架构示例项目中,我们将深入探讨每一层的功能以及DAO工厂模式在其中的作用。 **表现层(Presentation Layer)** 表现层是用户与系统交互的界面,它负责接收用户的输入,处理用户的请求...
在Java开发中,DAO模式通常与其他设计模式结合使用,如工厂模式(创建DAO实例)、策略模式(根据策略选择不同的数据访问方式)、单例模式(管理全局唯一的DAO实例)等,以进一步提升系统的灵活性和可维护性。...
DAO(Data Access Object)设计模式是一种在软件工程中常见的用于处理数据访问的模式,它将业务逻辑和数据访问逻辑分离,使得系统更加模块化,提高了代码的可复用性和可测试性。在这个“DAO设计模式(工厂+代理)”...
工厂模式和DAO(Data Access Object)模式是两种常见的设计模式,它们在处理数据库操作时发挥着关键作用。本示例旨在帮助初学者理解如何结合这两种模式来高效地与数据库交互。 首先,我们来详细探讨工厂模式。工厂...
-AJAX整合Struts无刷新分页.IE和FireFox都能运行 -在Eclipse3.1+MyEclipse4.3+TomCat5.5.12下测试通过 -在Eclipse3.3+MyEclipse6.0.1+TomCat5.5.15下测试通过 -注释详细 -希望初学者能有所收获,高手...
在软件设计模式中,工厂模式和DAO(Data Access Object)模式是两种常用的设计模式,它们在实际开发中扮演着至关重要的角色。工厂模式是创建型设计模式,它提供了一种创建对象的最佳方式,而DAO模式则是一种数据访问...
3. **业务层**:业务逻辑层通过依赖注入或者工厂模式获取DAO实例,然后调用DAO接口的方法来完成数据处理任务,这样可以确保业务代码不直接与数据库打交道,降低了耦合度。 4. **事务管理**:在DAO实现中,通常需要...
5. **构建DAO工厂类**:通过工厂模式创建DAO实现类的实例。 6. **编写前端页面**:前端页面调用DAO工厂类,通过工厂返回的DAO实例进行数据库操作。 **示例:** 假设我们正在开发一个用户登录功能,可以通过以下步骤...
在当前情况,可以提供一个抽象的DAO工厂对象(抽象工厂),用他来创建不同类型的具体DAO工厂,每一个工厂都各自支持一种不同的数据持久化储存的实现. 一旦你为某个特定的实现获得了具体的DAO工厂,你则可以用这个工厂来...
本项目“工厂模式很DAO模式实现购物车”是使用Java语言实现的一个购物车系统,旨在帮助初学者理解并运用这两种设计模式。 首先,我们来看**工厂模式**。工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳...
3. **业务组件**:如实体Bean、会话Bean、Servlets和JSP助手对象等,它们通过依赖注入(Dependency Injection)或者工厂模式获取DAO实例,然后调用DAO接口来完成数据操作。 4. **事务管理**:在J2EE环境中,DAO通常...
DAO(Data Access Object)设计模式是一种在软件工程中用于封装对数据库访问的模式,它将业务逻辑和数据访问逻辑分离,提高代码的可重用性和可测试性。在这个基于DAO设计模式的新闻发布系统中,我们可以深入探讨以下...
3. **DAO工厂**:用于创建DAO实例,可以根据需求动态地返回不同数据库实现的DAO。在单数据库实现的情况下,可能会采用工厂方法设计模式。 4. **Value Object (VO)**:值对象,通常用来与DAO交互,作为数据传输对象...
- **DAO工厂类**:负责创建不同的DAO实例。 - **DAO接口**:定义了数据访问的方法签名,通常包括增删改查等操作。 - **DAO具体实现类**:实现DAO接口,负责具体的数据库交互逻辑。 - **数据传递对象**(Data ...
在数据访问场景中,抽象工厂模式可能被用来创建不同数据库(如Oracle、MySQL)的DAO实现,这样客户端可以根据需要选择合适的数据库工厂,获取相应的DAO实例。 **应用案例** 在实际的J2EE项目中,DAO模式常与Spring...
在实际开发中,还可以结合其他设计模式,如工厂模式创建DAO实例,使用策略模式处理不同的数据访问策略,以进一步优化和扩展系统。 总的来说,DAO设计模式是Java Web开发中不可或缺的一部分,它有助于构建灵活、可...
- 使用DAO工厂模式创建DAO实例,以支持不同数据库的切换。 综上所述,Java DAO模式是企业级Java应用中处理数据库操作的标准方式。通过合理地设计和实现DAO,我们可以构建出健壮、可扩展的系统。在"Chapter08DAO...
总结来说,DAO设计模式是软件工程中用于处理数据访问的重要模式,它提高了代码的可复用性和可维护性,同时通过接口隔离了业务逻辑和数据操作的细节。在Java开发中,DAO模式常常结合JDBC或其他ORM框架实现,以实现对...