[发明专利]一种ORM设计方法及装置有效
| 申请号: | 201810453017.0 | 申请日: | 2018-05-03 |
| 公开(公告)号: | CN108845793B | 公开(公告)日: | 2022-04-15 |
| 发明(设计)人: | 蔡廷超;其他发明人请求不公开姓名 | 申请(专利权)人: | 蔡廷超;黄艳凤 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F16/21 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 518000 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 orm 设计 方法 装置 | ||
本发明提出一种ORM设计方法及装置。主要设计思想如下:1)将任何DB表对应的实体类型看作是无区别的一种抽象类型,使用泛型作为面向对象方式接口方法传入的实体参数类型;2)将传入suid方法的泛型实体参数类型转换成对应的sql语句;3)根据传入的实体类型结构和反射机制自动将查询结果装配成对应的实体类型结构的结果。本发明涉及的装置至少包括:面向对象方式suid接口模块,对象转sql语句模块,底层接口操作DB及自动装配返回结果模块和上下文模块。开发人员只需要使用面向对象方式suid接口模块中的接口。本发明涉及的装置,编码复杂度C(n)为O(l)。使用统一的dao操作DB,即使需要完成的DB操作的JavaBean增加,也不用开发人员再写任何具体的dao实现。
技术领域
本发明涉及计算机技术领域和软件技术领域,特别涉及一种实现对象关系映射(ORM)的方法及装置。
背景技术
术语或简称说明:
ORM:对象关系映射(Object Relational Mapping)。ORM是面向对象编程中对象概念与关系数据库中表的概念进行映射对应;由此将直接对数据库的操作,改为用面向对象的方式进行操作,从而通过操作对象间接操作DB的表。实现ORM的装置应该具有自动转换面向对象与关系数据库之间的数据格式或数据结构的功能。
方法:如下所示,类User有方法getName,setName。String name为方法setName的参数列表。有的计算机语言也称方法为函数。
DB:database,即数据库。
JDBC:Java数据库连接(Java DataBase Connectivity)Sun公司制定的一种Java数据库连接的Java API,可以为多种关系数据库提供统一访问接口。JDBC提供了一种标准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
MVC:MVC全名是Model View Controller,是模型(model)一视图(view)一控制器(controller)的缩写。MVC将代码分为控制层,模型层和视图层。在大型软件开发中,这样划分有利于软件重用,容易维护,方便同时开发MVC各个部分。
JavaBean:一种包含类属性及其对应的get,set方法的java类文件。常用于与DB表对应的模型实体,也称为实体类型。
泛型:泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样。泛型将类型参数化可以达到代码复用提高软件开发效率的目的。Java泛型的参数可以是类或接口。
SUID:对数据库的SQL命令查询、更新、插入与删除(select、update、insert、delete)
四种操作的简称(SUID为四种操作首字母)。
编码复杂度C(n):在MVC编程中,一般会涉及到action,service,dao,model(实体)。当用面向对象方式操作一个DB表时,要写一份dao;当操作两个表时,要写两份dao;当操作n个表时,要写n份dao;则此时编码的复杂度会随着问题规模增长为n,编码复杂度也变成n。关于问题n的编码复杂度(Coding Complexity)用C(n)表示。则上面描述的问题编码复杂度为:C(n)=0(n)。
Hibernate及Mybatis存在的问题:
实体JavaBean与DB表的map映射文件太多。
实体JavaBean文件注解用得太泛滥,太多注解难以记忆,增加开发人员负担。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蔡廷超;黄艳凤,未经蔡廷超;黄艳凤许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810453017.0/2.html,转载请声明来源钻瓜专利网。





