ORM框架类型自动转换原理

ORM框架在处理数据库查询时能自动将数据转换为指定类型,如List、Map。其原理主要涉及Java反射机制,通过Method类获取方法的参数类型。在Hibernate框架中,通过ParameterizedType获取实际类型参数。由于编译后的字节码不包含集合参数化类型信息,所以不能直接通过对象的Class获取。因此,只能通过方法签名来获取实际的参数类型。" 110878987,7286491,CDN技术详解:静态加速与动态加速,"['CDN', '网络优化', '流媒体', '动态加速', '静态加速']
摘要由CSDN通过智能技术生成
     我们在使用ORM框架时,从数据库中查询数据,然后返回一个集合或者其他类型。但是,框架怎么知道我要获取的是什么类型的呢?比如:List<Date>、Map<String,Integer>等,框架怎么知道我要返回的集合中的元素类型是Date、String、Integer呢?可能你会说是使用反射的方式,话是不错,但说反射毕竟太笼统了。我们可以从Hibernate框架的源码中获取点经验,既然Hibernate可以实现自动类型转换,那我们为何不向前辈学习呢?! 自动类型转换的方法大致如下:

public class TestGer {

public static void main(String[] args) throws NoSuchMethodException, SecurityException {
Method method = TestGer.class.getMethod("test", List.class); //获取方法实例
Type[] types = method.getGenericParameterTypes(); //获得原始类型参数
ParameterizedType pt = (ParameterizedType) types[0];//获得的原始类型参数的是一个type类型的数组,数组的长度为实际方法参数的个数
System.out.println(pt.getActualTypeArguments()[0]);//打印实际类型参数
System.out.println(pt.getRawType());//打印原始类型
System.out.println("-------------------------");
Method method2 = TestGer.class.getMethod("testMap", Map.class);
Type[] type
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
今天小编要给大家介绍一款功能强大的Windows系统备份和还原工具——ORM一键还原系统。ORM一键还原系统备份速度比ghost还快,压缩率更出色,可以全自动备份系统数据到最大分区,ORM一键还原系统同时支持所有主流Windows系统以及包括EFI/GPT硬盘在内的各种新旧硬件!是用户实现Windows系统备份和还原功能的好帮手。需要的朋友快来下载吧! ORM一键还原系统软件特色 1. 使用方便:全程傻瓜式操作,轻松备份与还原 2. 速度超快:备份速度比GHOST更快,压缩率更大 3. 体积小巧:安装文件不到9M,秒杀所有同类软件 4. 更加智能:全自动备份系统数据到最大分区 5. 兼容性好:支持所有主流Windows系统(32及64位) 6. 安全放心:支持各种新旧硬件(含EFI主板和GPT硬盘) ORM一键还原系统功能介绍 速度超快 经用户测试,它的备份速度是GHOST的两倍,生成的备份文件更小。 体积小巧 安装文件只有10M,秒杀市面上所有同类软件。 智能备份 备份时,全自动查找当前硬盘,当发现剩余空间最大的分区时,就会把系统备份到这个分区里。 如果您使用的是Windows Vista及以上的操作系统,它会帮您备份启动分区和系统分区,保证系统数据不丢失。 兼容性强 支持Win2000及Win2000之后的任何Windows系统,不论是32位还是64位 支持传统的BIOS主板和新式的EFI主板,支持传统的BIOS分区和GPT分区 紧跟Linux稳定版内核,保证升级频率,不惧怕市面上的任何新硬件 定制性好 安装完成后,您可以从安装目录提取ORM.iso文件,制作成可从主板启动的CD或U盘 安全放心 不包含任何的流氓软件或恶意代码 所有代码均采用开源软件修改和编译 ORM一键还原系统 v4.1.25.1更新日志 内核更新到4.1.25,提升稳定性 大幅优化软件体积和启动速度 修正部分电脑备份还原出错的问题 ORM一键还原系统软件截图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值