- Redis从入门到超神-(六)SpringCache操作缓存
乖巧程序员
Redis从入门到超神缓存redis数据库
引言java操作Redis有很多中方案,Jedis,SpringBootDataRedis,Redisson等,本篇文章的目的是使用SpringBootDataRedis整合SpringCache基于Redis实现缓存操作一、SpringBoot整合Redis实现缓存SpringBoot提供了整合Redis的方案,我们使用spring-boot-starter-data-redis包就可以很方便的
- Springboot(四十六)SpringBoot3整合redis并配置哨兵模式
camellias_
springbootredis后端
前边我有尝试在Springboot2.6框架中集成redis哨兵集群。但是呢,Springboot3中部署redis的配置和Springboot2中的配置完全不同。我这里再来记录一下Springboot3中配置redis的全部代码。上次我的redis是在centos服务器上直接安装的,这次在Springboot3的配置中,我的redis使用docker来部署。一:docker部署redis和red
- redis缓存和springboot缓存包冲突怎么办
酷爱码
java技术教程springboot后端java
如果Redis缓存与SpringBoot缓存包发生冲突,可以采取以下几种解决方案:排除SpringBoot缓存包:在pom.xml文件中排除SpringBoot的缓存依赖,以避免与Redis缓存冲突。例如:org.springframework.bootspring-boot-starter-cacheorg.springframework.bootspring-boot-starter-data
- Spring Cloud 与 Dubbo 的区别及选择指南
星辰@Sea
系统架构Javaspringclouddubbospring云原生
目录引言定义SpringCloudDubbo底层技术SpringCloudDubbo用途SpringCloudDubbo使用场景SpringCloudDubbo如何选择业务需求技术栈社区支持扩展性总结引言随着微服务架构的流行,SpringCloud和Dubbo成为了构建分布式系统的两大热门框架。两者虽然都旨在简化微服务的开发与管理,但它们在设计理念、实现方式、应用场景等方面存在着显著差异。本文将从
- nacos配置中心
yyueshen
javaspringbootspringcloudCloudAlibabanacos微服务
首先配置maven,添加spring-cloud-starter-alibaba-nacos-configorg.springframework.bootspring-boot-starter-webcom.alibaba.cloudspring-cloud-starter-alibaba-nacos-configcom.alibaba.cloudspring-cloud-alibaba-depe
- Ubuntu上如何优雅下载huggingface上某个gguf模型文件
晨欣
ubuntulinux运维
OS:Ubuntu22.04LTS需求:下载GorillaOpenfunctionsV2Q2GGUF模型到本地https://huggingface.co/gorilla-llm/gorilla-openfunctions-v2-gguf/blob/main/gorilla-openfunctions-v2-q2_K.gguf方法:使用wget命令wgethttps://huggingface.c
- SpringBoot在Kubernetes上部署及其扩展实践
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介SpringBoot是微服务开发的一个重要工具。它可以快速、轻松地创建一个独立运行的应用,同时还有一个特性就是它可以让开发者更关注业务逻辑而不是配置。SpringCloud生态圈则提供了许多服务发现、熔断器等功能组件,可以帮助我们实现微服务之间的通信、监控、路由等功能。但是,如果想要把SpringBoot部署到Kubernetes集群上,那么就需要做一些额外的工
- SpringBoot基础 -- 高级特性
️771
SpringBootspringbootjavaspring后端Springsecurity
SpringBoot基础–高级特性1.简介对SpringBoot高级特性的了解能帮助开发者更好地开发项目、维护和优化应用程序。以下是对SpringBoot高级特性的介绍2.特性2.1Profiles环境配置一般来说开发、测试、生产环境都是不同的,此时应用程序可能需要不同配置,而SpringBoot支持Profiles环境配置。通过创建不同的配置文件(如application-dev.yml、app
- springboot + xterm.js + vue + websocket实现终端功能(y-shell)文件管理器实现
张音乐
JSVueReact前端踩坑实战教程树形菜单右键菜单VUE
一、文件管理器功能描述这一章节讲一下文件管理器的实现与设计细节。首先,文件管理器需要提供以下几个主要的功能,开发过程中使用vue渲染前端页面以及交互过程中还是遇到了不少问题,比如说右键菜单,表单校验。1、文件夹的新增,编辑,删除。2、ssh配置的新增,编辑,删除。3、右键菜单如图:文件夹管理ssh连接管理快速运行dockerrun-itd--namey-shell-
- SpringBoot特性详细
南风陌巷
springboot后端java
SpeingBoot在spring的基础上极大的简化了编写过程,下面详细介绍其一些高级特性,重要特性有自动配置,外部化配置,嵌入式容器支持,自动配置SpringBoot的自动配置根据添加到项目里的jar依赖包自动配置Spring应用,如: org.springframework.boot spring-boot-starter-web 3.1.0 //自动配置Tomcat和SpringMVC,提供
- 微服务架构理论-扩展立方体篇
dianhe7741
操作系统系统架构java
近几年的的微服务概念大火特火,随之框架也变得大火起来,尤其是springboot,可能是因为springcloud火起来的原因搞得沉寂多年的dubbo也开始更新变得火起来。说起微服务对于不了解整个系统架构历史的小伙伴可能有些迷惑,怎么就突然一下子就微服务了,有点摸不着头脑,到底咋回事那?听我娓娓道来!很久很久以前的程序员都很牛逼一不开心就自己写个操作系统自己玩,玩着玩着最后就剩下了几个,比如我们熟
- [ Spring ] Spring Cloud Gateway 2025 Comprehensive Overview
ByteFlys
javaspring-cloudgatewaykotlinjava
文章目录SpringGatewayArchitectureProjectLevelDependencyServiceCenterServiceProviderGatewayServiceLaunchAllServiceSpringGatewayArchitectureServiceCenter:registerandfindserviceproviderServiceProvider:progra
- 五种高频设计模式及其在 Spring 中的应用揭秘
中國移动丶移不动
设计模式springjava后端springboot
五种高频设计模式及其在Spring中的应用揭秘1.适配器模式(AdapterPattern)模式简介适配器模式是一种结构型设计模式,通过将一个接口转换为客户端期望的另一个接口,使得原本不兼容的接口可以协同工作。它的核心作用在于兼容性适配,解决“老接口”和“新需求”的冲突。模式结构目标接口:客户端期望使用的接口。适配器类:实现目标接口,并持有被适配者的引用,将被适配者的方法转换为目标接口的方法。被适
- 一. spring cloud gateway集成 spring cloud stream binder kafka,实现“动态路由“刷新与加载之采坑记录
yanfei_1986
springcloudgatewaycloudstreamkafka
一、前言SpringCloudStream是用于构建消息驱动的微服务应用程序的框架。本文主要介绍如何集成SpringCloudStream,以Kafka发布订阅模式(topic),实现发送消息>>消费消息。我所找到的帖子大部分都是关于binderRabbitMQ,后来又拜读了官方文档(google翻译),逐渐对SpringCloudStream有了清晰的认识。真正集成时,并没有那么顺利;我看别人都
- 【转载】Spring Cloud Alibaba文档
Hatakefiftyfifty
Spring家族-SpringCloudspringcloudjava微服务
IntroductionSpringCloudAlibabaaimstoprovideaone-stopsolutionformicroservicesdevelopment.Thisprjoectincludestherequiredcomponentsfordevelopingdistributedapplicationsandservices,sothatdeveloperscandevel
- Java重要面试名词整理(二十一):SpringSecurity
正在绘制中
Java面试java面试开发语言
文章目录SpringSecurity篇概念用户授权(访问控制)JWTJWT续期问题SpringAuthorizationServer是什么OAuth2.0协议介绍角色OAuth2.0的运行流程授权模式详解客户端模式密码模式授权码模式简化模式token刷新模式OAuth2.1协议介绍授权码模式+PKCE扩展设备授权码模式拓展授权模式OpenIDConnect1.0协议SpringAuthorizat
- 02 SpringBoot初体验:统一响应和异常处理
theskyzero
#SpringBoot初体验springbootjava
文章目录背景目标准备工作基础知识统一响应定义统一响应`Response`使用统一响应`Response.success``ResponseBodyAdvice`测试异常处理全局异常处理`@ExceptionHandler``BizException`测试异常替代错误处理`ErrorController`01SpringBoot初体验:初始化web项目02SpringBoot初体验:统一响应和异常处
- 【SpringCloud微服务实战08】RabbitMQ 消息队列
李维山
MQ实战Javarabbitmqspringcloudspringboot
MQ异步通信优缺点:优点:吞吐量提升:无需等待订阅者处理完成,响应更快速故障隔离:服务没有直接调用,不存在级联失败问题调用间没有阻塞,不会造成无效的资源占用耦合度极低,每个服务都可以灵活插拔,可替换流量削峰:不管发布事件的流量波动多大,都由Broker接收,订阅者可以按照自己的速度去处理事件缺点:架构复杂了,业务没有明显的流程线,不好管理需要依赖于Broker的可靠、安全、性能常见MQ对比:一、R
- prometheus 服务java服务接入基础镜像配置
窗外的寒风
prometheusjavapython
环境变量设置:如果不经常修改配置,推荐在java镜像中把prometheus配置通过环境变量的方式统一配置,可以使用下面的参数,把端口进行暴漏(配置安全检查端口9998,启用所有安全检查接口,配置普罗米修斯的监测间隔,设置java服务名,把普罗米修斯的接口提升到根目录)ENVSPRING_APPLICATION_JSON='{"management.server.port":"9998","man
- SpringBoot:RabbitMQ-延迟队列
csdnlaoban
程序员java-rabbitmqspringbootrabbitmq
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!com.alibabafastjson1.2.46org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtest属性配置在application.propertie
- Java代码-八种数组排序方法
忧郁小王子x
算法java
一.冒泡排序1.1概述对于一组,多次将数组中的数两两比较,较大或者较小的数向后排(经过一轮比较后,最大/最小的数就会到结尾),循环直至有序排列。1.2代码实现importjava.lang.reflect.Array;importjava.util.Arrays;importjava.util.Scanner;publicclassmaopao{publicstaticvoidmain(Strin
- 面向切面之集中式登录架构设计
roy_xing
android架构
普通登录流程图集中式登录流程图把共有的业务通过AOP统一管理这里我们就需要使用AspectJ来实现面向切面的集中式登录什么是AspectJAspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。Aspect是切面是切入点(PointCuts)和通知(Advice)的集合。Pointcut切入点通
- AOP实现Android集中式登录架构,Android开发还不会这些
一个月成就技术
Android程序员android架构java
break;default:Toast.makeText(applicationContext,“执行失败,因为您还没有登录!”,Toast.LENGTH_SHORT).show();break;}}@OverridepublicbooleanisLogin(ContextapplicationContext){returnSharePreferenceUtil.getBooleanSp(Shar
- 【Elasticsearch 】自定义分词器
程风破~
Elasticsearchelasticsearch大数据搜索引擎
博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分
- Spring AI 在微服务中的应用:支持分布式 AI 推理
drebander
AI编程springAI
1.引言在现代企业中,微服务架构已成为开发复杂系统的主流方式,而AI模型推理也越来越多地被集成到业务流程中。如何在分布式微服务架构下高效地集成SpringAI,使多个服务可以协同完成AI任务,并支持分布式AI推理,是企业面临的关键挑战。本篇文章将探讨:在微服务架构中如何部署SpringAI服务;如何通过分布式AI推理提高推理性能与扩展性;典型应用场景,如电商推荐、智能客服、实时分析等。2.Spri
- 解决 Lombok 与 Java 模块系统的兼容性问题:从错误到解决方案
码农阿豪@新空间代码工作室
包罗万象java开发语言
个人名片作者简介:java领域优质创作者个人主页:码农阿豪工作室:新空间代码工作室(提供各种软件服务)个人邮箱:[
[email protected]]个人微信:15279484656个人导航网站:www.forff.top座右铭:总有人要赢。为什么不能是我呢?专栏导航:码农阿豪系列专栏导航面试专栏:收集了java相关高频面试题,面试实战总结️Spring5系列专栏:整理了Spring5重要知识点与
- springboot中DTO、VO、Entity相互转换
会说法语的猪
后端springbootjavaspringboot后端java
在我们平时开发中,dto、vo、entity之间的相互转换是很频繁的操作,这篇就简单记录一下我在平时开发中转换的方法。在这之前先简单描述一下dto、vo、entityDTO:一般我们在开发中会定义数据传输对象(DataTransferObject,DTO)来接收前端传递的参数是最常见的。VO:平时开发中,一般会定义VO(viewobject)来封装返回给前端的数据Entity:在我们开发中,Ent
- 前后端分离项目在内网使用https协议
梦境之冢
https网络协议httpspringboot前端vuenginx
在SpringBoot中启用HTTPS在现代的网络通信中,安全性成为了一个不能忽视的要求。特别是当我们谈论到数据传输时,保护用户信息的安全性是非常重要的。HTTP协议在数据传输过程中为加密提供了有限的支持,而HTTPS则是HTTP的安全版本,它在HTTP的基础上增加了SSL/TLS协议,用于在客户端和服务器之间的数据传输过程中进行加密,从而提供了更安全的数据传输方式。HTTPS需要使用SSL/TL
- 架构整合要点。
jc_dreaming2
OPENSpringStrutsJavaHibernateXML
整合spring2+struts1.2+hibernate3.2程序要使用spring2,需要spring插件jar包和spring的类库外。1.web.xml配置spring的监听。org.springframework.web.context.ContextLoaderListener通过contextConfigLocation上下文参数指定spring配置文件javax.servlet.j
- 分层架构设计概念
祈遇&
java
技术架构分层设计 系统分层设计是一种设计思想(分而治之),是让每层对象都有一个独立职责,再让多层对象协同(耦合)完成一个完整的功能。这样做可以更好提高系统可扩展性,但同时也会增加系统整体运维的难度springBoot技术简介和特性 SpringBoot是Java软件开发框架(很多人现在把它理解为一个脚手架),其设计目的是用来简化Spring项目的初始搭建以及开发过程。该框架使用了特定的注解方式
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持