目前持久层框架大概以下:
xml配置、annotation、依靠反射。
但是他们或多或少的会存在下列问题:
1。配置复杂
2。入侵性强
3。灵活性不够
最重要的是:
1。多表查询配置复杂
2。返回类型单一,尤其是多表查询后的结果
3。这点尤其重要,凡是不依靠反射的框架,都会存在一旦修改POJO,就要修改大部分配置文件或者DAO文件。
我的框架几乎可以解决以上所有问题。
同时,这是第一版,会存在一些问题,比如,写法冗余,参数传递比较别扭等等。这些问题需要高手们一起帮助解决。
说下大概思路,具体的请看我上传的源代码。
首先创造一个类似于MyEclipse代码生成器的页面。此页面利用DWR创建。可以生成POJO,DAO之类的代码,这样我们就不用再去手工输入了。目前,我的DAO还没有实现,但是大家看了代码,就会知道,那个只是一次调用核心函数的过程,非常简单。
核心函数。我只是实现了select部分。其他的回在大家的帮助下一一实现。
核心函数需要2个参数String sql,Object[] params。
看起来有些不够OOP,但是他可以换来返回结果的灵活。这个sql有些像hql,但是他有规则,就是必须使用别名,而其用#好括起来。这个地方的设计是我的最初想法,如果有好的建议希望大家指出。
一旦使用了别名我们就可以做灵活的查询。比如join之类的。
至于返回结果,我们利用反射,使用了List<Object[]>对象。
这样,我们就解决了多表查询返回的问题。
同时,也是我最满意的一点就是,获得这样的结果,并不用太复杂的配置。
^_^。
这个是第一版。
希望通过的大家的指点,我可以优化后面的版本。
分享到:
- 2009-09-23 10:51
- 浏览 795
- 评论(0)
- 论坛回复 / 浏览 (0 / 1374)
- 查看更多
相关推荐
总结来说,Ibatis 是一个强大且灵活的持久层框架,它允许开发者保留对SQL的直接控制,同时提供对象和数据库之间的映射,降低了数据访问的复杂性。对于需要高度定制SQL的企业级应用,Ibatis 是一个非常合适的选择。
MTK(Resource)rar_6226_MTK resource v1_MTK support_mtk boot _mtk 是一个针对MTK(MediaTek)平台的资源文件集合,主要服务于MTK芯片组的手机通讯功能。这个压缩包包含了针对不同型号,特别是6226和6225型号的定制...
标题中的"PyPI 官网下载 | flask_json_resource-0.2.12.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的开源软件包,名为`flask_json_resource`,版本为0.2.12,且以tar.gz格式提供。这种格式是Linux和...
【标题】"wxa_resource_003129ae3ee99b6300c1a1d85f207dc7_armeabi-v7a.zip" 提供的资源包是一个针对ARMEABI-V7A架构的Android平台的组件集合。这个压缩包包含了一系列动态链接库(.so文件),这些库文件是专门为...
总的来说,"xn_resourceeditor_source.rar_full_resource editor_www.4455xn.com" 提供的资源编辑器源代码是Delphi开发者的一个宝贵资源,它不仅可以帮助理解资源管理的底层实现,也能为个性化开发和学习资源编辑...
这个过程对原始文件无损,因为Resource Hacker会创建一个新的文件,保留原文件的完整性。 6. **适用于多种应用场景**:Resource Hacker 在多种场景下都非常实用。例如,开发者在调试和优化软件时,可以快速修改资源...
iBatis 是一款轻量级的持久层框架,它极大地简化了 Java 开发者在处理数据库交互时的工作量。相比于传统的 JDBC 编程方式,iBatis 能够减少大约 61% 的代码量。这主要是通过将 SQL 语句从 Java 代码中分离出来实现的...
Aweme.diskwrites_resource-2022-11-10-171732.ips
本项目“_humanResourceManagement-master_java_”就是一个使用Java进行开发的人力资源管理系统,它为我们提供了一个了解和学习Java Web应用开发的良好实践案例。 1. **Java Web开发基础**: Java Web开发通常涉及...
资源套件(ResourceKit)是为了解决特定技术问题或提供工具集合而创建的软件包,通常包含各种实用程序、文档、示例代码等。在这个"ResourceKit-master_resource_mtk_"中,我们可以推断出它专注于MediaTek(MTK)平台的...
标题 "10A_MMI_Resource_Training.zip_mtk" 暗示了这是一个与联发科(MTK)相关的多媒体接口(MMI)资源培训资料的压缩文件。这个压缩包包含了一个名为 "10A_MMI_Resource_Training.pdf" 的PDF文档,很可能是关于MTK...
aggregated.diskwrites_resource-2022-04-19-035216.ips
This file includes some sample matlab codes for resource allocation in LTE system.
baby_android_resource
这个资源包提供了一个全面的学习路径,从基础到进阶,从理论到实践。首先,你可以通过PPT教程系统学习Java的基本概念;然后,通过习题解答来检验自己的理解程度;最后,通过源代码实践,将所学知识转化为实际的编程...
Code D2D resource allocation
Algorithms for d2d resource allocation in TDD based LTE HetNets
您不需要编译或安装任何化学信息学框架。 结果被缓存。 客户端处理与HTTPS协议的交互,并将所有结果缓存在本地文件系统中,以加快检索速度。 客户端抽象出所有与网络相关的任务,为最终用户提供了方便的界面,给人...
在Java编程中,`.jar`文件是一种Java档案文件,它是Java平台的标准归档格式,用于集合多个类文件、相关的元数据和资源文件。这个文件可能包含了应用程序中的字符串、图片、音频文件等,这些内容都是以英文形式呈现,...
Resource allocation in LTE matlab code