自己开发一个Java ORM框架(2)-设计理念

简介: 很久很久以前(英文long long ago),写过一个基于反射的ORM框架,功能总是不够令人满意,但是又不想再借助XML补充Object-Relation之间的对应关系,因为那样的话数据库操作模块又复杂了,还不如直接使用成熟的ORM框架。后来使用了一些框架,人家都用注解,这真是个节省手敲代码量的利器,而且习惯了之后会发觉在简单中蕴藏的优雅,所以就想实现一个基于注解和反射的ORM框架。就叫Panda ORM吧,因为熊猫总是懒洋洋的,跟这个ORM框架设计理念相当吻合。本着没有最懒,只有更懒的原则,本框架唯一的目的就是节省代码,但是也预留了一丢丢拓展的空间。说一下设计原则

1,数据库表名、实体类名相同(当然也可以通过新增自定义新注解实现不必同名的关联)

2,数据库表列名与对应实体类属性名相同(外键除外)

3,实体类所有属性采用String类型

4,采用@key注解修饰主键对应的属性,并区分其是否为自动增长

5,采用@foreignKey注解修饰外键对应的属性,并通过注解的参数指示外键指向表的主键

6,含有外键的查询语句,仅查询两层(如果外键对应表又有外键,则不拓展到外键的外键所在表)


当然也可以通过继承等方式拓展数据库操作类的功能。该框架将支撑EasyUI开发银行业绩统计系统的数据库层,另外将添加一些通过Java自动生成Java实体类的功能。最终实现在mysql内新建表后,基本不用写数据库实体类也基本不用写数据库操作层,直接就能用起来的效果。

相关文章
|
2天前
|
设计模式 算法 Java
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
|
2天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
2天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
2天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
7天前
|
Java Maven 开发工具
《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
28 1
|
7天前
|
IDE Java 数据库连接
使用 Java 进行桌面应用开发
【4月更文挑战第19天】Java 是一款广泛应用于企业级、网络和桌面应用开发的编程语言。其跨平台特性使Java程序能在不同操作系统上运行,而JDK提供了开发所需工具和库。使用Swing等GUI库构建用户界面,结合JDBC进行数据库操作,Socket实现网络通信。虽然面临性能和用户体验的挑战,但通过优化和选用合适的IDE,Java仍能开发出高效稳定的桌面应用。
|
8天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
8天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
148 10
|
8天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
11天前
|
Java 大数据 云计算
Spring框架:Java后台开发的核心
【4月更文挑战第15天】Spring框架在Java后台开发中占据核心位置,因其控制反转(IoC)、面向切面编程(AOP)、事务管理等特性提升效率和质量。Spring提供数据访问集成、RESTful Web服务和WebSocket支持。优势包括高效开发、灵活扩展、强大生态圈和广泛应用。应用于企业级应用、微服务架构及云计算大数据场景。掌握Spring对Java开发者至关重要。