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

相关文章

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

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方