- 浏览: 69843 次
- 性别:
- 来自: 绍兴
最新评论
记录 以便以后参考----
基类代码
GenericDaoImpl<T extends IdEntity> 声明继承GenericDaoImpl的类必须指定一个对象,并且这个对象必须继承IdEntity
extends HibernateDaoSupport 不多说
implements GenericDao<T> 定义了增删改的方法 并且指定的了泛型对象 其内部定义一些通用方法(curd)列:
再看看如何在当前GenericDaoImpl类在被实例化后获取子类指定哪个泛型对象呢?
基类代码
public class GenericDaoImpl<T extends IdEntity> extends HibernateDaoSupport implements GenericDao<T>
GenericDaoImpl<T extends IdEntity> 声明继承GenericDaoImpl的类必须指定一个对象,并且这个对象必须继承IdEntity
extends HibernateDaoSupport 不多说
implements GenericDao<T> 定义了增删改的方法 并且指定的了泛型对象 其内部定义一些通用方法(curd)列:
//这就是泛型的好处,你指定哪个对象,他就让hibernate执行哪个对象的操作 void insert(T entity);
再看看如何在当前GenericDaoImpl类在被实例化后获取子类指定哪个泛型对象呢?
/** * 数据实体类型 */ protected Class<T> entityClass; /** * 默认构造函数 */ @SuppressWarnings("unchecked") public GenericDaoImpl() { Type superClassType = getClass().getGenericSuperclass(); if (superClassType instanceof ParameterizedType) { Type[] paramTypes = ((ParameterizedType) superClassType).getActualTypeArguments(); this.entityClass = (Class<T>) paramTypes[0]; } }
发表评论
-
Web开发学习13聊聊java反射
2016-07-12 18:41 770很喜欢一本叫《走出软件作坊》的书,其中有一句话让我较为深刻,“ ... -
Web开发学习12 浅谈设计模式
2016-07-01 13:33 1330在我刚接触 ... -
Web开发学习11 全局缓存控制
2015-10-12 14:27 751缓存用的好可以减少数据库的压力,在大并发的情况下极大的提升服务 ... -
Web开发学习10 hadoop实战
2015-10-09 14:02 769前一篇说到项目记录了很多埋点日志,当有一天项目需求需要对这些日 ... -
Web开发学习(9)全局埋点
2015-07-27 11:10 2031埋点的作用是把客户端每次访问服务端的操作记录下来,包括请求连接 ... -
Web开发学习8Struts2基类封装
2015-07-24 12:03 713一个好的基类可以帮助开发者减少很多开发工作,像我这种爱偷懒的人 ... -
Web开发学习7按钮级别权限控制
2015-07-23 16:21 13369这个功能的思路是自己原创的,没看过其他例子,其实是在做之前网上 ... -
Web开发学习6添加liqiubase
2015-07-22 14:29 1481开发过程中经常碰到数据库更改的情况,在日常环境下如果每位开发人 ... -
浅列JavaEnum
2014-01-05 16:42 796enum Province{ ZHEJIANG,SHANGHA ... -
maven常用命令
2013-07-08 10:20 7961、创建普通Java项目: ... -
canvas绘制科赫雪花
2012-12-20 17:24 2168<html> <head> ... -
html5 audio与video方法属性事件概括
2012-12-20 14:46 1128play() 继续播放 pause() ... -
spring 整合mina
2012-12-20 11:48 1128首先定义自定义过滤器 <bean id=" ... -
Web开发学习(5)添加springsecurity应用
2011-12-14 15:00 978我学习公司这个架构多半就是为了把springsecurity搞 ... -
Web开发学习(4)添加spring应用
2011-12-14 14:45 803印象中似乎没做过不用spring的项目,因为它在web开发中的 ... -
Web开发学习(3)配置struts-tiles插件(附带json插件)
2011-12-05 15:22 2577struts的tiles插件是非常实用的,从某些方面可以很好的 ... -
使用线程删除导出临时文件
2011-12-01 16:33 2286项目支持大数据量导出e ... -
jQuery实现表格行点击选中复选框
2011-11-23 12:36 6016这个需求是在项目完成后客户提出的要求,看似简单但是还需要一点小 ... -
Web开发学习(2)配置convention插件
2011-11-04 10:28 1402注解的方式某些程度上能减少xml的配置量,个人感觉使程序更加清 ... -
Web开发学习(1)使用eclipse搭建maven项目
2011-10-20 10:04 5754首先用eclipse创建工程 ne ...
相关推荐
在C#中,可以使用`System.Data.Common.DbConnection`作为基类,创建自定义的数据库连接类,然后在此基础上实现连接池逻辑。 4. **源码分析**: `ConnectionPool.sln`是解决方案文件,包含项目的整体配置和依赖关系...
在C#.NET编程中,创建一个抽象的数据库连接类是一个重要的设计模式,它允许开发者编写通用的代码来处理各种不同的数据库系统,如SQL Server、MySQL、Oracle等。这个设计模式通常被称为“数据提供者”(DataProvider...
6. 数据库连接管理:泛型结合依赖注入(DI)框架,可以创建一个泛型的数据库连接管理类,使得数据库连接的创建、关闭和事务管理更加简便和统一。 7. 性能优化:泛型在编译时会进行类型擦除,但通过泛型,可以避免在...
2. **连接管理**:数据访问基类应负责数据库连接的创建、管理和关闭。这通常包括打开和关闭连接、处理连接池等。使用连接池可以提高性能,避免频繁地创建和销毁连接。 3. **事务处理**:在处理多条数据库操作时,...
- 可能包含如`getConnection()`获取数据库连接,`executeQuery(String sql, ResultSetHandler<T> handler)`执行查询并处理结果集,`executeUpdate(String sql)`执行更新操作等方法。 - 使用泛型可以使其支持不同...
这里的"数据库配置"通常包括Hibernate的配置文件(如hibernate.cfg.xml),其中包含了数据库连接信息、方言设置等关键参数。 【标签】"Hibernate"是Java领域广泛使用的ORM(Object-Relational Mapping)框架,它将...
例如,当你有四个客户端类分别管理标准流、文件、Twisted transports和数据库连接时,如果你使用了Mixin,那么每个类都需要混合StdIOMixin,这会使得文档的编写和管理变得复杂。 相比之下,泛型函数能够在不改变类...
DBUtils是一款经典的Java数据库连接工具库,它简化了数据库操作,提供了一套便捷的API来执行SQL语句、处理结果集等。在这个“DBUtils模拟用泛型实现”的主题中,我们将探讨如何通过泛型技术进一步优化DBUtils的使用...
在IT行业中,数据库操作是应用程序的核心部分,而DAO(Data Access Object)模式是连接业务逻辑层与数据存储层的关键。本篇文章将深入探讨一个使用Spring注解和Hibernate实现的泛型DAO设计,以提高代码的复用性和可...
8. `System.Data`和`System.Data.SqlClient`命名空间:处理数据库操作,提供了ADO.NET框架,允许与SQL Server等数据库进行交互。 在《C#基类库大全+完全手册+控件库》中,你应该能找到关于这些命名空间及其包含的类...
`AbstractRepository<T>`是一个泛型基类,实现了基本的CRUD(创建、读取、更新、删除)操作。`T`代表要操作的数据实体类型。泛型Repository模式是一种设计模式,它抽象了数据访问层的操作,使得业务逻辑层可以与...
这通常涉及到Spring的IoC(Inversion of Control)容器来管理数据库连接和事务,Hibernate作为ORM(Object-Relational Mapping)工具处理数据对象与数据库表之间的映射,以及Struts作为MVC(Model-View-Controller)...
10. **设计模式**:在封装数据库操作的类库中,可能会应用到工厂模式(用于创建数据库连接)、单例模式(确保数据库连接只被创建一次)等设计模式,以优化代码结构和性能。 总的来说,这个项目展示了如何使用...
2. 数据库连接:C++程序需要连接到数据库,这通常通过数据库API如ODBC(Open Database Connectivity)或MySQL Connector/C++完成。 3. 数据库设计:需要设计合理的数据库模式,如ER图(实体关系图),以表示商品、...
9. **数据访问**:ADO.NET是.NET框架中用于数据库交互的部分,包括SqlConnection、SqlCommand、SqlDataReader等类,支持SQL Server等数据库的连接、查询和操作。 10. **UI框架**:Windows Forms和WPF(Windows ...
在这个例子中,`NhRepositoryBase`是一个泛型基类,它已经包含了基本的事务管理和连接管理逻辑。因此,在实现具体的数据访问逻辑时,无需关心底层的连接管理和事务处理细节。 ##### 4.2 应用服务层的事务管理 应用...
对于存储过程的支持,你可以创建一个泛型方法`ExecuteStoredProcedure`,通过传入存储过程名和参数列表,调用`SqlCommand`的`ExecuteReader`或`ExecuteScalar`方法执行存储过程,并根据需要返回结果。 在实现过程中...
这种模式提高了系统的性能,因为它减少了数据库连接的创建和销毁次数。在ASP.NET中,通过使用LINQ to SQL或Entity Framework,可以轻松实现断开连接的数据访问。 在标题中提到的抽象基类,通常包含了对数据库的基本...
基类会提供如`getSession()`和`closeSession()`等方法,确保数据库连接的正确开启和关闭。 然后,用户只需要为自己的实体类创建一个继承自泛型DAO模板的接口,即可获得CRUD操作。例如,对于一个名为`User`的实体类...
然后,关键的一步是修改数据库连接字符串,确保应用程序能够正确地与数据库建立连接,通常是修改配置文件(如app.config或web.config)中的相关条目,以匹配用户的数据库服务器、用户名、密码和实例信息。...