- 浏览: 587636 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (423)
- windows2003 (1)
- exception (3)
- java (91)
- eclipse (14)
- java web (3)
- javaScript (11)
- 装机 (1)
- sql (34)
- outlook (1)
- html (8)
- JAVA 不同区域服务器引起的乱码解决 (2)
- strtus (3)
- http (1)
- 设计模式 (4)
- Java对存储过程的调用方法 (0)
- java-数据库操作 (0)
- jdbc (7)
- dwr (2)
- 软件版本号 (1)
- jxls (1)
- ExtJS (3)
- Ajax (1)
- git (12)
- linux (20)
- mysql (14)
- maven (16)
- easyui (1)
- 日常备注 (1)
- spring (9)
- others (1)
- windows快捷键 (1)
- 工作备注 (9)
- 工作杂项 (0)
- photoshop (1)
- 开发环境配置 (0)
- jboss (1)
- 报表 (1)
- 图表 (1)
- fckeditor (1)
- 调试bug (2)
- 口令 (1)
- css (2)
- mongodb (7)
- restful (1)
- jsp (5)
- jpa (2)
- bug (1)
- js (2)
- Json (1)
- POI (1)
- xml (2)
- webstorm (1)
- java swing (1)
- ubuntu (3)
- mongo (27)
- 自我学习 (0)
- 草稿 (0)
- 单元测试 (1)
- 数据库 (2)
- ide (1)
- 大数据 (0)
- uml (1)
- spring-boot (1)
- mybatis (3)
- oracle (2)
- jetty (1)
- 学习 (0)
- 系统调优 (1)
- tomcat (2)
- kettle (1)
- 学习资源 (1)
- 架构 (2)
- database (4)
- idea (1)
- consul (1)
- hadoop (2)
- nginx (3)
- 认证 (1)
- 加密 (1)
- connection pool (1)
- loadrunner (1)
- tps (1)
- 翻墙工具 (1)
- redis (2)
- redis jedis shardjedis (1)
- spring boot (1)
- 认证授权 (1)
- ssh (1)
- svn (2)
- 多线程 (1)
最新评论
-
abcdeudi:
不错
接口和抽象类什么时候使用才合适? -
羽翼的心动:
POI中对Word处理,读取不到书签。如果要处理书签的话,就只 ...
POI根据模板(excel表头)导出excel -
pdf1192012:
高质量文章
接口和抽象类什么时候使用才合适? -
沐忆潼:
...
POI根据模板(excel表头)导出excel -
422937561:
高质量文章
接口和抽象类什么时候使用才合适?
0)非常好
http://www.2cto.com/kf/201208/150877.html
http://blog.sina.com.cn/s/blog_86e34ca8010132ly.html
1)
http://tieba.baidu.com/p/1870781710
2)
利用object,做强制转换
http://www.cnblogs.com/tekkaman/p/3920309.html
3)
http://outofmemory.cn/code-snippet/11387/java-create-generic-class-instance-with-newinstance-method
4)好
http://developer.51cto.com/art/201009/226966_1.htm
http://www.2cto.com/database/201404/296251.html
5)泛型和反射结合
http://www.soso.io/article/67503.html
6)
http://www.oschina.net/code/snippet_1245103_33821
7)
Class<T>的作用就是指明泛型的具体类型,而Class<T>类型的变量c,可以用来创建泛型类的对象。
为什么要用变量c来创建对象呢?既然是泛型方法,就代表着我们不知道具体的类型是什么,也不知道构造方法如何,因此没有办法去new一个对象,但可以利用变量c的newInstance方法去创建对象,也就是利用反射创建对象。
http://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html
8)
http://blog.sina.com.cn/s/blog_86e34ca8010132ly.html
public class Child extends Base<Child>{ }
http://www.2cto.com/kf/201208/150877.html
UserDao类: package com.mrlun.oa.test; public class UserDao extends BaseDaoImpl<Users>{ }
http://blog.sina.com.cn/s/blog_86e34ca8010132ly.html
1)
public class A<T> { private Class getActualTypeClass(Class entity) { ParameterizedType type = (ParameterizedType) entity.getGenericSuperclass(); Class entityClass = (Class) type.getActualTypeArguments()[0]; return entityClass; } Class clazz = getActualTypeClass(this.getClass()); //这里的clazz就是范型T的具体类型的class了 }
http://tieba.baidu.com/p/1870781710
2)
利用object,做强制转换
http://www.cnblogs.com/tekkaman/p/3920309.html
3)
http://outofmemory.cn/code-snippet/11387/java-create-generic-class-instance-with-newinstance-method
4)好
http://developer.51cto.com/art/201009/226966_1.htm
http://www.2cto.com/database/201404/296251.html
5)泛型和反射结合
/**通过反射机制查询单条记录 * @param sql * @param params * @param cls * @return * @throws Exception */ public <T> T findSimpleRefResult(String sql, List<Object> params, Class<T> cls )throws Exception{ T resultObject = null; int index = 1; pstmt = connection.prepareStatement(sql); if(params != null && !params.isEmpty()){ for(int i = 0; i<params.size(); i++){ pstmt.setObject(index++, params.get(i)); } } resultSet = pstmt.executeQuery(); ResultSetMetaData metaData = resultSet.getMetaData(); int cols_len = metaData.getColumnCount(); while(resultSet.next()){ //通过反射机制创建一个实例 resultObject = cls.newInstance(); for(int i = 0; i<cols_len; i++){ String cols_name = metaData.getColumnName(i+1); Object cols_value = resultSet.getObject(cols_name); if(cols_value == null){ cols_value = ""; } Field field = cls.getDeclaredField(cols_name); field.setAccessible(true); //打开javabean的访问权限 field.set(resultObject, cols_value); } } return resultObject; }
http://www.soso.io/article/67503.html
6)
http://www.oschina.net/code/snippet_1245103_33821
7)
Class<T>的作用就是指明泛型的具体类型,而Class<T>类型的变量c,可以用来创建泛型类的对象。
为什么要用变量c来创建对象呢?既然是泛型方法,就代表着我们不知道具体的类型是什么,也不知道构造方法如何,因此没有办法去new一个对象,但可以利用变量c的newInstance方法去创建对象,也就是利用反射创建对象。
http://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html
8)
http://blog.sina.com.cn/s/blog_86e34ca8010132ly.html
发表评论
-
文件上传
2017-02-05 09:47 413文件上传模块 -
@ModelAttribute注解的使用
2017-01-09 23:13 542https://my.oschina.net/u/176085 ... -
数组合并和判断数组包含某个元素
2017-01-09 23:10 540http://www.iteye.com/news/28296 ... -
项目创建流程
2017-01-09 23:06 405http://lion.newtouch.com/pages/ ... -
mysql 出现很多连接 sleep 问题
2017-01-09 23:00 715http://blog.csdn.net/lin_credib ... -
spring boot 学习
2016-11-28 17:05 385http://412887952-qq-com.iteye.c ... -
jxls excel上传数据
2016-11-22 15:27 557http://jxls.sourceforge.net/ref ... -
veloctiyengine gettemplate jsonobject.fromobject
2016-11-18 10:41 0/** 53. * test User 54. ... -
HDFS客户端的权限错误:Permission denied
2016-08-09 01:55 632http://www.linuxidc.com/Linux/2 ... -
java map中的key为object
2016-08-08 11:18 533http://zhidao.baidu.com/link?ur ... -
jdbc pool
2016-07-26 14:50 411[url]C:\Users\lwx328240\Desktop ... -
java 域是指什么
2016-07-15 15:36 542http://blog.csdn.net/iaiti/arti ... -
java jdbc/ojdbc 链接oracle的三种方式
2016-07-12 14:50 584http://blog.itpub.net/22664653/ ... -
java 编译器 解释器
2016-06-28 14:45 7190) javac 编译器 用于将java源代码文件编译成字节码 ... -
linux查看cpu、内存、版本信息
2016-06-24 21:44 544http://blog.chinaunix.net/uid-2 ... -
重定向控制台System.out.println输出到文件,再重定向回控制台
2016-06-24 20:18 514http://blog.csdn.net/jason_deng ... -
java 代码点 代码单元
2016-06-24 09:38 728http://blog.csdn.net/weizhaozhe ... -
java 日期
2016-06-24 09:39 352http://kingquake21.iteye.com/bl ... -
jdbc addBatch
2016-06-23 22:08 407http://www.360sdn.com/java/2014 ... -
java中的arrayList(动态数组)与静态数组
2016-06-21 20:26 952http://www.2cto.com/kf/201206/1 ...
相关推荐
在这个特定的案例中,"基于泛型反射的数据层封装"是利用了Java的泛型和反射特性来实现这一目标。泛型提供了一种在编译时类型安全的方式,允许我们创建可以处理多种类型的类、接口和方法。而反射则是Java提供的一种...
泛型通用DAO是这种模式的一种优化,它利用了Java 5.0引入的泛型和反射机制,大大简化了DAO层的编码工作,提高了代码的可复用性和可维护性。 泛型是Java中的一种类型系统扩展,它允许在编译时声明参数化的类型,从而...
【泛型DAO】是一种在Java开发中常见的设计模式,它利用了Java泛型特性来提高代码的可重用性和类型安全性。在Java中,DAO(Data Access Object)模式是用来封装对数据库的操作,将业务逻辑与数据访问逻辑分离,使得...
这类工具类通常用于辅助其他类或框架(如DAO层)更高效地操作泛型数据。具体到给定的`GenericUtil`类,其核心功能在于提取出泛型参数的具体类型,这对于动态类型处理、反射操作以及类型检查等场景非常有用。 #### ...
总的来说,Java反射使得DAO层的实现变得更加灵活和简洁。它减少了代码的重复,提高了代码的复用性,同时也增强了程序的动态性和扩展性。然而,需要注意的是,反射操作的性能相对较低,且可能带来安全风险,因此在...
总的来说,"java封转dao层(源码),只需传路径,版本一"提供了一种简化DAO层实现的方式,它基于Java的反射和动态代码生成,帮助开发者快速创建和使用DAO对象,减少了手动编写大量DAO类的工作。这种技术在中小型项目...
【泛型DAO模型设计】是Java开发中一种高效且可复用的数据访问对象(DAO)设计方式,结合了泛型和反射技术。泛型在Java中引入,旨在提高代码的安全性和可读性,减少类型转换的繁琐过程。DAO设计模式主要用于数据库...
在实际项目中,为了提高代码的复用性和可维护性,通常会对DAO层进行封装。本主题主要探讨的是如何使用泛型和反射技术来实现Hibernate对DAO的封装,从而创建一个通用的DAO模板,减少开发者重复编写CRUD(Create、Read...
深入学习Java还需要理解反射、泛型、注解等高级特性。 接着是JDBC。JDBC提供了统一的接口,使得Java程序员可以操作不同的数据库。使用JDBC,开发者需要加载驱动、建立连接、创建Statement或PreparedStatement对象、...
在Java开发中,数据访问对象(DAO)模式是一种常见的设计模式,用于封装对数据库的操作,以提高代码的可重用性和可维护性。本篇将深入探讨如何自定义Dao,并利用反射技术来实现这一目标。博客链接:[此处无法提供...
在向学生讲解Class.forName()方法的使用时,有时需要扩展讲解为什么这样书写的原理,于是,扩展讲解Java反射技术可以查看被监视类的方法(构造方法和普通方法)、公有属性的功能,以达到封闭功能的效果。该例子使用...
总的来说,BaseDao和BaseDaoImpl的设计模式结合了Java的泛型和反射特性,有效地减少了代码量,提高了开发效率,同时保持了代码的灵活性和可扩展性。它们为基于Hibernate的项目提供了强大的数据库操作支持,使得...
本文将深入探讨Java语言中如何使用反射机制实现通用DAO,并通过提供的"通用DAO源码及示例"来阐述这一概念。 首先,我们需要理解什么是DAO模式。DAO模式是一种软件设计模式,它的主要目标是为应用程序提供一个抽象层...
在向学生讲解Class.forName()方法的使用时,有时需要扩展讲解为什么这样书写的原理,于是,扩展讲解Java反射技术可以查看被监视类的方法(构造方法和普通方法)、公有属性的功能,以达到封闭功能的效果。该例子使用...
在传统的Java应用程序中,DAO(Data Access Object)层是用于封装数据库访问逻辑的地方,它隔离了业务逻辑与数据存储之间的耦合。Hibernate的出现使得我们可以将SQL语句转换为对Java对象的操作,降低了直接操作...
* JDBC 的 DAO 封装和实现自己的 JDBC 第四阶段:Xml 技术和 Web 开发 * 使用 JDOM 和 DOM4J 来对 XML 文档的解析和生成操作 * XML 的作用和使用场合 * HTML/CSS 技术 * Java 掌握基本的 HTML 标签的格式和使用 * ...
- Spring MVC的工作流程,Controller、Service、DAO层的设计。 7. **MyBatis框架** - SQL映射文件和Mapper接口的配置。 - 动态SQL的使用,如if、choose、where、foreach标签。 - MyBatis的缓存机制。 8. **...
- 类与对象:Java的核心是面向对象编程,书中会讲解如何定义类,创建对象,并掌握封装、继承和多态等核心概念。 - 控制结构:包括条件语句(if、switch)、循环(for、while、do-while)以及异常处理(try-catch-...
- 高级特性:了解Java的反射、代理、泛型、枚举、正则表达式等高级特性。 - 网络编程:掌握网络通信协议原理、Socket编程和WEB服务器的工作原理。 - JDK版本特性:关注JDK1.5、JDK1.6、JDK1.7、JDK1.8等各版本的新...