当前位置: 首页 > 专利查询>褚晶晶专利>正文

一种基于Spring实现DAO接口的方法、装置及设备制造方法及图纸

技术编号:24456042 阅读:26 留言:0更新日期:2020-06-10 15:34
本申请属于数据开发领域,公开了一种基于Spring实现DAO接口的方法、装置及设备,通过Spring框架指定扫描包的预定范围,将带预定注解的DAO接口类和FactoryBean建立对应关系,生成相应的动态代理对象存储到缓存库中,若找到该DAO接口类的命令对应的动态代理对象,则执行该命令,若找不到,则根据该命令生成相应的特征值,存储至缓存库中,再执行该命令,最后若该结果集中包含有Convert注解,需要根据Convert注解将结果集转换成相应的目标类型后返回,若该结果集中没有Convert注解,则直接将该结果集返回,保证得到的DAO接口能够同时支持SQL和HQL,进行应用构建时,无需将数据整体迁移,不会产生大量的XML配置文件,管理简洁方便,开发人员只需对开发代码进行维护,提高开发效率。

A method, device and device of realizing Dao interface based on spring

【技术实现步骤摘要】
一种基于Spring实现DAO接口的方法、装置及设备
本申请涉及数据开发
,特别是涉及一种基于Spring实现DAO接口的方法、装置及设备。
技术介绍
DAO模式是标准的J2EE(Java2PlatformEnterpriseEdition)设计模式之一,开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开,它的全称是DataAccessObject数据访问对象,典型的DAO的组件分为DAO工厂类、DAO接口类、实现DAO接口的具体类、数据传递对象,具体的DAO类包含了从特定的数据源访问数据的逻辑。iBATIS是一个基于SQL(StructuredQueryLanguage,结构化查询语言)映射支持Java的持久层框架。支持通过DAO接口与XML(ExtensibleMarkupLanguage,可扩展标记语言)映射文件的绑定,自动生成接口实现类,提高开发效率。但也会带来以下问题:(1)iBATIS只支持SQL结构化查询语言。不支持HQL(HibernateQueryLanguage)Hibernate查询本文档来自技高网...

【技术保护点】
1.一种基于Spring实现DAO接口的方法,其特征在于,所述方法的步骤包括:/n在Spring.xml配置文件中确定扫描包的预定范围;/n扫描所述预定范围内的扫描包中带预定注解的DAO接口类,将FactoryBean与所述带预定注解的DAO接口类建立映射关系;/n生成所述带预定注解的DAO接口类的动态代理对象,并将所述动态代理对象存储至缓存库中;/n接收DAO接口类的命令,根据所述DAO接口类的命令从所述缓存库中查找对应的动态代理对象,若找到与所述DAO接口类的命令对应的动态代理对象,则执行所述DAO接口类的命令,得到结果集,否则,生成所述DAO接口类的命令对应的特征值存储在所述缓存库中,并...

【技术特征摘要】
1.一种基于Spring实现DAO接口的方法,其特征在于,所述方法的步骤包括:
在Spring.xml配置文件中确定扫描包的预定范围;
扫描所述预定范围内的扫描包中带预定注解的DAO接口类,将FactoryBean与所述带预定注解的DAO接口类建立映射关系;
生成所述带预定注解的DAO接口类的动态代理对象,并将所述动态代理对象存储至缓存库中;
接收DAO接口类的命令,根据所述DAO接口类的命令从所述缓存库中查找对应的动态代理对象,若找到与所述DAO接口类的命令对应的动态代理对象,则执行所述DAO接口类的命令,得到结果集,否则,生成所述DAO接口类的命令对应的特征值存储在所述缓存库中,并执行所述DAO接口类的命令,得到结果集;
判断所述结果集中是否包含Convert注解,若是,则从Convert注解的参数中获取所述结果集对应的转换对象的目标类型,将所述结果集转换成所述目标类型,返回转换后的结果集,否则,直接将所述结果集返回。


2.根据权利要求1所述的方法,其特征在于,所述在Spring.xml配置文件中确定扫描包的预定范围,具体包括:
在Spring.xml配置文件中利用BeanDefinitionRegistryPostProcessor确定扫描包的预定范围;
为所述扫描包设定对应的注解名称,其中,设定所述扫描包的初始注解名称为AutoDaoImpl;
为AutoDaoImpl匹配相应的entityClass参数,利用entityClass参数来对应所述带指定注解的DAO接口类的具体操作的实体类对象。


3.根据权利要求1所述的方法,其特征在于,所述扫描所述预定范围内的扫描包中带预定注解的DAO接口类,将FactoryBean与所述带预定注解的DAO接口类建立映射关系,具体包括:
扫描所述预定范围内的扫描包中带预定注解的DAO接口类;
定义ClassPathBeanDefinitionScanner生成BeanDefinition,在BeanDefinition中定义FactoryBean与带预定注解的DAO接口类的映射关系,并为BeanDefinition设置对应的注入模式。


4.根据权利要求1所述的方法,其特征在于,所述生成所述带预定注解的DAO接口类的动态代理对象,并将所述动态代理对象存储至缓存库中,具体包括:
将所述带预定注解的DAO接口类设置成自定义DAO接口;
利用Proxy对象和所述自定义DAO接口,生成所述自定义DAO接口的动态代理对象,将所述动态代理对象存储至缓存库中。


5.根据权利要求1所述的方法,其特征在于,所述生成所述DAO接口类的命令对应的特征值存储在所述缓存库中,具体包括:
从所述DAO接口类的命令中获取执行名称,对所述执行名称进行解析,得到对应的返回值;
根据所述执行名称确定对应的执行参数,其中,所述执行参数包括:常用参数和回调函数参数,所述回调函数参数中记录有回调函数参数的索引位置;
根据所...

【专利技术属性】
技术研发人员:褚晶晶
申请(专利权)人:褚晶晶
类型:发明
国别省市:内蒙;15

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1