01. 简易版 OR/RO Mapping 组件 MultiJdbcDaoUtility(MJDU) 简介

2024-02-04 09:38

本文主要是介绍01. 简易版 OR/RO Mapping 组件 MultiJdbcDaoUtility(MJDU) 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

组件诞生于?

2012 年中着手开发,年末开发完毕,涉及到的技术有:XML Schema、DTD、XSD、Reflection、Annotation;涉及到的概念有:O/R Mapping、R/O Mapping。

麻雀虽小五脏俱全,但是这些就算在当时,也还算不上完美,因为还少了诸如 Repository 操作这样的概念。
 

为何要做这样一种组件?

大家在开发中是否曾遇见过类似的问题,每当一个新的 VO 出现,我们就编写一个 DAO,这样重复地写是不是浪费很多时间呢?该组件就是在 DAO 开发中节省用户时间的。
 

该组件是否能包办 DAO 的一切操作?

虽然该组件已将基本 CRUD 及登陆、修改密码等常见方法封装,但这不并代表那些复杂的操作就不需要编写其他的 DAO 方法了,遇到特殊需求时该写 DAO 还是得写,该组件只是帮用户完成 CRUD 等基本操作,服务层直接调用已封装好的基本方法即可。
 

该组件是否健壮?

从开始制作到组件完结都一直在测,不管是修改或新增某个功能都得测一下组件,以确保组件运行的结果是我想要的。在实施计划好的开发中常常遇到各种各样的难题,有些看似很难甚至让我抓狂的问题其实很好解决。无意之下,我结识了注解 Annotation 并利用其神奇特性结合强大的武器,反射机制 Reflection Mechanism。最终一个让我能够安心使用的 DAO 万能组件产生了。有可能的话,我会讲到如何定义 Annotation 及其应用。
 

末了

接下来的操作都是在 MyEclipse 上进行演示的,数据库连接配置改为使用 xml 形式,DBC 连接类被封装好了,类似大部份框架的做法。

这篇关于01. 简易版 OR/RO Mapping 组件 MultiJdbcDaoUtility(MJDU) 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/677045

相关文章

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

C++ RabbitMq消息队列组件详解

《C++RabbitMq消息队列组件详解》:本文主要介绍C++RabbitMq消息队列组件的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. RabbitMq介绍2. 安装RabbitMQ3. 安装 RabbitMQ 的 C++客户端库4. A

Linux实现简易版Shell的代码详解

《Linux实现简易版Shell的代码详解》本篇文章,我们将一起踏上一段有趣的旅程,仿照CentOS–Bash的工作流程,实现一个功能虽然简单,但足以让你深刻理解Shell工作原理的迷你Sh... 目录一、程序流程分析二、代码实现1. 打印命令行提示符2. 获取用户输入的命令行3. 命令行解析4. 执行命令

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n