- 浏览: 437892 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (211)
- 思考》感想 (11)
- 数据库操作 譬如Oracle大叔 (7)
- java,咱们有缘吗 (16)
- delphi,你还好吗 (2)
- SSH,哥三儿好 (31)
- 问题!问题?问题!? (9)
- WITH WORK (1)
- 算法与模式 莫事^_^ (10)
- JSP,可以叫你P兄么 (2)
- 啊,咋科斯╮(╯▽╰)╭ (6)
- 巨人肩上的小石子 (2)
- flash她妹flex (38)
- 项目管理 (10)
- 奥特曼,你弟Android来了 (4)
- 麻辣儿gis (0)
- maven 嘛味儿 (3)
- ws 哇塞 webservice (5)
- Oh,no!!!,NoSql (1)
- QQ他哥也是个企鹅,Linux (6)
- 姓i还是姓my 你都叫batis ibatis (3)
- 我喜欢夏天(春天旁边的那个季节)Springside (1)
- 测试! 测就测吧,没有喝(⊙o⊙) (3)
- 是晕+_+ 是浮云 还是云计算 (4)
- ExtJS 你是flex他哥还是他妹 (10)
- svg 你丫的资料真少 (3)
- 叫屁屁还是叫加加 ⊙﹏⊙ c++ (5)
- 鸟,还是只百灵鸟 BIRT (1)
- 权限管理 有权真好 是吧-_-! (1)
- SSH (2)
- 哥三儿好 (2)
- nginx (1)
- Oh (1)
- no!!! (1)
- NoSql (1)
最新评论
-
mong619226543:
谢谢
No identifier specified for entity -
akka_li:
没看懂啥意思!什么原因导致java.net.SocketExc ...
java.net.SocketException: Connection reset 问题解决方法 -
west_jing:
1L正解,<mvc:annotation-driven/ ...
<mvc:default-servlet-handler/> 导致 Controller失效 -
u010954806:
tgfhfdhdf
Spring Security 国际化文件 messages_zh_CN.properties 中文解释 -
yenshen:
我也碰到这个问题了,找了一大圈,最终问题解决了:<con ...
<mvc:default-servlet-handler/> 导致 Controller失效
-----------》公共dao的结构
-----共用接口和共用实现类------------------
public interface BaseDao<E,ID extends Serializable> {}
public class BaseDaoImpl<E,ID extends Serializable> implements BaseDao<E,ID>{}
-------具体接口和具体实现类------------------
public interface MenuDao extends BaseDao<Menu, Integer> {}
public class MenuDaoImpl extends BaseDaoImpl<Menu, Integer> implements MenuDao {}
----------》具体具体代码(写了部分方法)
BaseDao.java
BaseDaoImpl.java
MenuDao.java
MenuDaoImpl.java
-----共用接口和共用实现类------------------
public interface BaseDao<E,ID extends Serializable> {}
public class BaseDaoImpl<E,ID extends Serializable> implements BaseDao<E,ID>{}
-------具体接口和具体实现类------------------
public interface MenuDao extends BaseDao<Menu, Integer> {}
public class MenuDaoImpl extends BaseDaoImpl<Menu, Integer> implements MenuDao {}
----------》具体具体代码(写了部分方法)
BaseDao.java
package com.xj.dao; import java.io.Serializable; import java.util.List; public interface BaseDao<E,ID extends Serializable> { /** * 增加实体 * @param obj */ public abstract void addObject(E obj); /** * 删除实体 * @param obj */ public abstract void deleteObject(E obj); /** * 跟新实体 * @param obj */ public abstract void updateObject(E obj); // public abstract Boolean checkObjectExistsWithName(String objName); /** * * 根据id查找实体 */ public abstract E queryObjectById(Class<E>clazz,ID id); /** * 根据条件查找所有实体 * @param queryStr * @return */ public abstract List<E> queryObjects(String queryStr); }
BaseDaoImpl.java
package com.xj.dao.impl; import java.io.Serializable; import java.util.List; import javax.annotation.Resource; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Component; import com.xj.dao.BaseDao; @Component("baseDao") public class BaseDaoImpl<E,ID extends Serializable> implements BaseDao<E,ID>{ private HibernateTemplate hibernateTemplate; public HibernateTemplate getHibernateTemplate() { return hibernateTemplate; } @Resource public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } @Override public void addObject(E obj) { hibernateTemplate.save(obj); } @Override public void deleteObject(E obj) { hibernateTemplate.delete(obj); } @Override public void updateObject(E obj) { hibernateTemplate.update(obj); } @Override public E queryObjectById(Class<E> clazz,ID id) { return hibernateTemplate.get(clazz, id); } @SuppressWarnings("unchecked") @Override public List<E> queryObjects(String queryStr) { return hibernateTemplate.find(queryStr); } }
MenuDao.java
package com.xj.dao; import com.xj.model.Menu; public interface MenuDao extends BaseDao<Menu , Integer> { }
MenuDaoImpl.java
package com.xj.dao.impl; import org.springframework.stereotype.Service; import com.xj.dao.MenuDao; import com.xj.model.Menu; @Service("menuDao") public class MenuDaoImpl extends BaseDaoImpl<Menu, Integer> implements MenuDao { }
发表评论
-
Spring Security 国际化文件 messages_zh_CN.properties 中文解释
2011-05-04 17:08 7134Spring Security 国际化文件 messages_ ... -
两个Spring Security问题
2011-05-04 17:06 2105两个Spring Security问题 ---------》 ... -
一个spring security 配置列子
2011-05-03 16:48 1262<?xml version="1.0" ... -
spring security与数据库交互实现简单例子
2011-04-19 16:34 1676spring security与数据库交互实现简单例子 最近 ... -
用struts2 验证用户登录demo
2011-01-28 15:38 2181用struts2 验证用户登录de ... -
Struts2.1.8 执行顺序
2011-01-28 15:18 887public class LoginAction extend ... -
Struts2令人纠结的一个问题
2011-01-27 09:47 1006我用Struts2加入自定义的library如下图,就报错, ... -
一份spring配置文件
2011-01-13 14:05 981<?xml version="1.0" ... -
Hibernate关系映射总结
2010-10-18 10:35 1275其实这些东东完全可以参考帮助文档;这里只是总结下。 》》》一对 ... -
No identifier specified for entity:XX.xx
2010-10-12 17:25 1682No identifier specified for ent ... -
Annotation对Hibernate中联合主键定义
2010-10-11 13:28 2235public class User { private in ... -
@MappedSuperclass的用法
2010-10-11 10:21 12657@MappedSuperclass的用法 用在实体的继承过程 ... -
No identifier specified for entity
2010-09-29 16:07 12018org.hibernate.AnnotationExcepti ... -
SSJ配置模板
2009-09-14 09:06 896web.xml-----> <?xml versi ... -
一个简单的ssh配置模板
2009-09-12 17:08 1728web.xml------> <?xml vers ... -
Struts----学习笔记 用form提交和sturts提交
2009-09-12 17:02 1231struts是这么配置的 <action path= ... -
Spring学习笔记------Spring和Hibernate的整合配置
2009-09-12 09:15 1421Spring和Hibernate整合配置有两种方式: 方 ... -
Spring学习笔记--------AOP操作
2009-09-10 10:29 1068* AOP操作可与通过注解和xml的方式实现; * 有个问题, ... -
Hibernate学习笔记1--------一个简单的应用
2009-08-30 08:26 1029工具类---------> /** *用单例模式 ... -
Hibernate学习笔记2--------------------一对多、多对一简单配置
2009-08-30 08:40 1011一的一端------------------------> ...
相关推荐
在"模板设计模式_构建公共通用的Dao"的例子中,`MyJDBC2`可能是实现了通用Dao功能的具体类。这个类可能会包含以下关键部分: - **数据库连接管理**:通过连接池获取和释放数据库连接,这部分代码可以封装在一个模板...
标题中的“策略设计模式_构建公共通用的Dao”指出,我们即将探讨的是如何利用策略设计模式来构建一个可复用的、通用的数据访问对象(DAO)层。在软件开发中,DAO层通常负责与数据库进行交互,执行增删改查等操作。...
在搭建结构时需要建立引用关系,包括 View 层、BLL 层、DAL 层、Model 层、Factory 层和公共工具层。其中,View 层引用 BLL 层,BLL 层引用 DAL 层,DAL 层引用 Model 层,Factory 层引用 DAL 层和 Model 层,公共...
在多条SQL语句需要一起执行时,我们需要使用try-catch-finally结构来管理事务,确保数据的一致性。 7. **接口与实现** 为了实现更好的解耦,可以定义一个DAO接口,然后为每个数据表或实体类提供一个具体的实现。...
MongoDB支持丰富的查询语言,能处理复杂的数据结构,适用于大数据量和高并发的场景。 2. Spring Data Spring Data是Spring框架的一个模块,旨在简化数据访问层的开发工作。它提供了一种统一的方式来处理各种类型的...
2. **DAO结构**: - **接口**:DAO接口定义了对数据库操作的方法,如`insert(User user)`,`update(User user)`,`delete(int id)`,`select(int id)`等。这些方法的参数和返回值通常与业务对象(BO,Business ...
2. **DAO接口**:定义DAO的公共方法,使得业务层可以依赖于接口而非具体的实现。 3. **DAO实现类**:实现DAO接口,提供实际的数据库操作逻辑。 4. **DAO工厂**:根据需求动态地返回DAO实例。工厂类可以根据参数、...
在J2EE模式中,DAO模式强调的是将所有数据源的访问操作抽象成一个公共API,即定义一个接口,该接口包含了应用程序中所有可能用到的数据事务方法。这样,在需要与数据源交互时,应用层只需要调用这个接口,而具体的...
#### 二、类结构与功能实现 1. **包声明**:`package com.book.dao;` - 这条语句指定了当前类所在的包名。在这个例子中,类位于`com.book.dao`包下。 2. **导入必要的库**: - `import java.sql.*;` - `import ...
在本话题中,我们将深入探讨如何对DAO模式的源文件进行重构,以优化代码结构,提高代码的可读性和可维护性。 **1. 重构背景与目的** DAO模式在大型项目中广泛使用,随着项目发展,原始的DAO实现可能会变得复杂,...
- **DAO接口**:定义了所有DAO实现必须遵循的公共接口,包括连接、断开连接、获取数据和保存数据等方法。 - **具体DAO实现**:每个数据源类型都需要一个具体的DAO实现,如JDBC DAO、Hibernate DAO等。这些实现负责...
DAO设计模式的结构通常分为几个类: 1. VO(Value Object):一个用于存放网页的一行数据即一条记录的类,比如网页要显示一个用户的信息,则这个类就是用户的类。 2. DatabaseConnection:用于打开和关闭数据库。 3...
反射允许程序在运行时检查和修改自身的结构,而工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,隔离了类实例化过程,并允许代码在不指定具体类的情况下调用对象的方法。 首先,我们来详细探讨反射...
每个模块都有相应的目录结构,如`dao`、`entity`、`service`等,对应数据访问、实体类和服务层的代码。 资源目录`src/main/resources`是存放配置文件和非Java源码的地方: - `act`:Activiti工作流引擎的相关配置...
- **公共的getter和setter方法**: 提供公共的getter和setter方法来访问和设置私有属性。 - **无参构造器**: 必须提供一个默认的无参构造器。 - **序列化能力**: 实现`Serializable`接口,使其支持序列化。 例如,...
- **数据库模块**:包括数据访问对象(DAO)和实体类,用于与数据库交互。 - **服务模块**:封装业务逻辑,通过接口提供公共服务。 - **测试模块**:单元测试和集成测试,确保公共资源模块的正确性。 5. **论文内容...
4. **公共资源的分类**:公共资源可能包括工具类库、数据访问对象(DAO)、配置文件、国际化资源、模板引擎等。根据其特性,合理组织模块结构,如将所有数据库操作相关的类放在一个模块,所有国际化相关的资源放在另...
总的来说,JavaBeanDAO设计是Java应用中常见的一种数据访问模式,它结合了JavaBean的面向对象特性与DAO的数据库访问功能,为应用程序提供了一种结构化的数据操作方式。通过合理的设计和实现,可以有效地提升代码的...
公共资源模块通常包含一些通用的工具类、常量定义、模板方法、数据访问对象(DAO)以及全局配置等,这些资源可以被项目的不同部分共享,避免了代码重复,降低了维护成本。在Java中,我们可以使用Maven或Gradle等构建...
5. **DAO(数据访问对象)层**:数据访问对象层负责与数据库的交互,封装SQL查询和事务管理,使得业务层可以专注于业务逻辑,而不必关心底层数据操作的细节。 6. **实体类和VO(值对象)**:实体类代表数据库中的表...