- MCP(模型上下文协议)保姆级教程实战篇(三)----MCP服务器端搭建
菜鸟模型
人工智能python
一、MCP服务器的概念MCP服务器(ModelContextProtocolServer)是一种轻量级程序,旨在将大型语言模型(LLM)与外部数据源和工具无缝集成。它通过标准化的协议,使得LLM能够访问实时数据并执行更复杂的任务。概念核心定义:MCP服务器作为连接AI与外部世界的标准化桥梁,类似于USB-C接口的"统一协议",使AI能够轻松对接各种业务接口,提供智能化功能。主要功能:资源(Reso
- PostgreSQL内幕探索—进程与内存结构
芮芮子天下第一
PostgreSQLpostgresql数据库
PostgreSQL内幕探索—进程与内存结构本篇介绍PostgreSQL(以下简称PG)的主要进程和内存结构。PG是一个典型C/S架构的关系数据库管理系统,采用多进程架构,运行在单台服务器上。主要进程我们一般所说的PG服务器,实际上是一系列协同工作的进程集合,主要包含了下面的进程Postmaster服务器进程,所有数据集簇(databasecluster)工作进程的父进程backendprogre
- 腾讯轻量应用服务器下使用Docker+GreatSQL搭建Halo博客系统
Maskfanatics
docker数据库运维
腾讯轻量应用服务器下使用Docker+GreatSQL搭建Halo博客系统之前使用RPM包方式安装了GreatSQL数据库,现在使用Docker+GreatSQL搭建Halo博客系统。前言在Halo的官方文档中提到MySQL在宿主机如何通过Docker安装Halo如果你已有MySQL但安装在宿主机,你想使用Docker安装Halo那么此时为了保证MySQL和Halo能网络互通,可以使用host网络
- Vue3如何引入tailwindcss
一城烟雨_
vuecss
1.下载依赖//下载好依赖npminstall-Dtailwindcsspostcssautoprefixer//继续执行命令生成tailwind.config.js配置文件npxtailwindcssinit-p2.修改TailwindCSStailwind.config.js配置文件/**@type{import('tailwindcss').Config}*/exportdefault{co
- sql 中的with as语句使用,用法
四脚小蜗
Oraclesql数据库postgresql
一、with的用法Withalias_nameas(select1)[,alias_nameas(selectn)]--中括号可以省略Select…二、关键字概述在标准的数据库中,如hive,Oracle,DB2,SQLSERVER,PostgreSQL都是支持WITHAS语句进行递归查询。只有MySQL是不支持的。A:IDNAME1LI2QINB:IDNAME1LI3SUNwithtest_wi
- AD7606使用方法
leoFY123
单片机嵌入式硬件信号处理
AD7606是一款8通道最高16位200ksps的AD采样芯片。5V单模拟电源供电,真双极性模拟输入可以选择±10V,±5V两种量程。支持串口与并口两种读取方式。硬件连接方式:配置引脚引脚功能详细说明OS2OS1OS2过采样率配置0001倍过采样率200K0112^38倍过采样率200K/8=25KRANGE模拟信号量程配置0表示正负5V,1表示正负10VSTBY待机省电0有效可开启省电或关断,需
- vite+vue 项目引入tailwindcss
ada958
css前端框架
vite+vue项目引入tailwindcss创建您的工程如果您还没有建立一个新的Vite项目,请先创建一个新的项目。npminit@vitejs/appmy-projectcdmy-projectnpm安装Vite的前端依赖。npminstall初始化TailwindCSS通过npm安装tailwindcss及依赖npminstall-Dtailwindcsspostcssautoprefixe
- sql server with as 语句的使用
LLLiucc
sqlsqlwithas
WITHAS短语,也叫做子查询部分(subqueryfactoring)。简单地说withcase的作用就是将频繁执行的slq片段加个别名构建一个临时表,作为全局使用,查询完成后就会被清除。当一个子查询被多次调用的时候,就可以使用withcase好处提高sql语句可维护性withAas(select*fromuser)select*fromA,customerwherecustomer.useri
- SQL中with as用法
Ricardo_N
skillsql
WITHAS短语,也叫做子查询部分,定义一个SQL片断后,该SQL片断可以被整个SQL语句所用到。有的时候,withas是为了提高SQL语句的可读性,减少嵌套冗余。withAas(select*fromuser)select*fromA,customerwherecustomer.userid=user.id**先执行select*fromuser把结果放到一个临时表A中,作为全局使用。witha
- Java:历久弥新的编程语言王者
松前卡气加超级漂
java开发语言
引言自1995年SunMicrosystems发布Java以来,这门"一次编写,到处运行"的编程语言已经深刻改变了软件开发行业。近30年过去,尽管新兴语言层出不穷,Java依然稳居TIOBE编程语言排行榜前三名,在企业级开发、移动应用和大数据领域占据主导地位。本文将深入探讨Java的核心特性、技术生态以及未来发展方向。一、Java的核心竞争力1.跨平台能力Java最著名的特性是"WriteOnce
- Docker+centOS7部署halo(附加功能:配置nginx实现域名访问)
.
阿里云经验分享
本文基于centOS7.9操作系统,望知!必备条件一台云服务器一个善于思考且耐心十足的灵魂1.下载安装docker1.安装软件包sudoyuminstall-yyum-utils2.添加阿里云仓库sudoyum-config-manager\--add-repo\http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装d
- MySQL性能监控与调优:Percona Toolkit的妙用秘籍
墨瑾轩
一起学学数据库【一】mysql数据库
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣嗨,亲爱的数据库小能手们!今天,我们要来聊聊一个超酷的工具——PerconaToolkit。它就像是一位魔法导师,能帮你洞察MySQL的心脏,找出性能瓶颈,让你的数据库跑得比兔子还快!别急,我这就带你一步步解锁这些魔法,让我们的数据库性能提升之旅变得既有趣又高
- 3. git config
小生不才yz
Gitgit
文章目录基本概述配置级别基本用法设置配置项查看配置项删除配置项常用配置项基本概述gitconfig的作用是:设置用户信息、编辑器、别名、仓库行为等。配置级别级别作用范围配置文件路径命令选项仓库级别(Local)当前仓库.git/config无(默认选项)全局级别(Global)当前用户所有仓库~/.gitconfig(Linux/macOS)用户\xxx.gitconfig%(Windows)--
- 001 TiDB单机版安装
wz_131486
tidbmysql
使用TiUPPlayground快速部署本地测试环境注:本教程本地测试环境部署,若单机模拟集群部署,请参考:使用TiUPcluster在单机上模拟生产环境部署步骤基础环境配置基础配置安装yum源curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repoyuminstall-yyum-uti
- 目前地学等新兴的、更强大的模型(仅个人观点)
Chh0715
r语言机器学习算法支持向量机
越来越多的地理学与农学研究者,尤其是面向环境变化、遥感监测、农业管理等方向的学者,正在使用一批新兴的、更强大的模型来解决复杂系统中的非线性、多源异构、大规模问题。一、目前地理学/农学研究中较为“新奇”和高频的模型(含Nature/Science类期刊)模型名称简要说明应用示例(来自Nature/Science类期刊)✅XGBoost/LightGBM高性能树模型,处理大数据、变量间复杂关系用于气候
- 使用Percona Toolkit监视MySQL死锁
编码实践
mysql数据库
在MySQL数据库中,死锁是指两个或多个事务互相等待对方所持有的资源,导致它们都无法继续执行的情况。为了有效地监视和解决死锁问题,我们可以使用PerconaToolkit工具集中的一些工具。本文将介绍如何使用PerconaToolkit来监视MySQL死锁,并提供相应的源代码。PerconaToolkit是一个由Percona开发的一组管理和诊断工具,可帮助MySQL管理员更好地管理和维护MySQ
- oracle9i高一个版本是,在关于不同版本的数据库迁移
HAR.王帅真
oracle9i高一个版本是
目的在不同版本的数据库之间进行导入和导出的时候存在的兼容性问题。应用范围本文用于实现在oracle7,oracle8,oracle8i,oracle9i,oracle10g和oracle11g数据库上进行的导入/导出功能,也就是说将数据从版本为X的数据库中导出,然后再数据导入到版本为Y的数据库中去。同时也提供了在执行导入/导出功能时,相关的一些版本的使用情况和在进行数据导出的时候需要进行哪些的准备
- mysql运维工具利器_mysql运维利器percona-toolkit工具之pt-query-digest
胡启奋
mysql运维工具利器
本文目录前提条件开启慢查询运行sqlpt-query-digest语法使用pt-query-digest分析慢查询日志相关文章联系方式前提条件mysql版本5.7.21redhat6.8开启慢查询启用慢查询mysql>setglobalslow_query_log=on;QueryOK,0rowsaffected(0.01sec)启用未使用索引慢查询mysql>setgloballog_queri
- (Les17 移动数据)expdp/impdp
weixin_30326741
数据库运维5g
oracle11.2.0expdp/impdp数据泵参数expdp参数==================================================================================ATTACH附加目前已有Job中。例如ATTACH=Job_name.CLUSTER利用cluster或RAC分布式资源。设定值CLUSTER=[Y]/N默认值为YC
- oracle用户数据库导错,Oracle数据库迁移遭遇AQ队列表创建报ORA-24001错误
有孚君
oracle用户数据库导错
前两天,客户在迁移一个数据库系统遭遇AQ队列表创建的报错故障.A.上来诊断时,大致了解到数据库系统迁移过程如下:1.安装新数据库软件,并且跨版本,源数据库是:9.2.0.6,目标数据库是:10.2.0.5;因而新数据库是全新安装RDBMS和创建新数据库,采用用户级别的数据迁移方式.2.迁移用户数据时,并没有采用EXP/IMP方式,而是通过net8网络,在数据库内创建DBLINK方式,把源数据库用户
- OSPF协议
大慕慕好懒
网络
1.OSPF本身是链路状态型协议,所以,计算路径不会存在环路;并且使用带宽作为选路依据,所以,在选路的角度上由于RIP;2.OSPF的计时器时间也短于RIP,所以,单个数据包的资源占用原大于RIP;3.因为OSPF协议传递的是LSA(链路状态通告)信息,所以,单个数据包的资源占用远大于RIP;但是,因为RIP存在30s一次的周期更新,而OSPF并没有如此高频率的周期更新,并且,OSPF协议存在许多
- centos-LLM-生物信息-BioGPT-使用1
淀粉肠狂热粉
生物信息学centoslinux生信生物信息AIGC
参考:GitHub-microsoft/BioGPThttps://github.com/microsoft/BioGPTBioGPT:用于生物医学文本生成和挖掘的生成式预训练转换器|生物信息学简报|牛津学术—BioGPT:generativepre-trainedtransformerforbiomedicaltextgenerationandmining|BriefingsinBioinfor
- 在 Spring 中 Mock RestTemplate
后端spring
如果我们程序中使用了RestTemplate进行HTTPAPI调用。通常在编写单元测试时,为了让测试可控,会将RestTemlate调用进行mock,而不是进行真实的HTTPAPI调用。这里,我们将介绍两种mockRestTemplate调用的方法。一个是比较流行的Mockito模拟库,另一个是使用SpringTest提供的MockRestServiceServer模拟服务器,它可以创建模拟服务器
- uCOS III v3.08.01 移植PC Dev C++ 免虚拟机移植WinXP,Win7,Win10,Win 11
keilvision
c语言程序人生
uCOSIIIv3.08.01移植PCDevC++免虚拟机移植WinXP,Win7,Win10,Win11。32位系统64位系统都可以。这里有源码和程序,欢迎下载测试改进:[uCOSIII_DevC++]链接:https://pan.baidu.com/s/1OpWpvfCxJS8A8DcBEdOK2A?pwd=4nq3提取码:4nq3需要uCOSII2.92.07移植的在这里:https://b
- java+postgresql+swagger-多表关联insert操作(七)
huangsu_123
JAVAjava开发语言postgresql
入参为json,然后根据需要对多张表进行操作:入参格式:[{"custstoreName":"swagger-测试经销商01","customerName":"swagger-测试客户01","propertyNo":"swaggertest01","propertyName":"swagger-测试资产01","proName":"四川省","cityName":"攀枝花市","property
- 如何在 Ubuntu 上安装 MySQL WorkBench?
算法资料吧!
ubuntumysqllinux
MySQLWorkbench是由OracleCorporation开发的一款功能强大且广泛使用的图形用户界面(GUI)工具,用于管理MySQL数据库。它为数据库管理员、架构师和开发人员提供了一套全面的工具,用于直观地设计、开发和管理MySQL数据库。MySQLWorkbench允许您通过直观的图形界面可视化数据库结构、运行SQL查询、管理用户等。要使用MySQLWorkbench,您的系统上需要一
- Postgresql中查询数据库连接情况
huangsu_123
pgpostgresql数据库
1、查询数据库配置的最大连接数:selectsettingfrompg_catalog.pg_settingswhere"name"='max_connections';2、查询数据库当前连接信息:selectdatname,pid,usename,query_start,wait_event,wait_event_type,state,queryfrompg_catalog.pg_stat_ac
- Docker方式部署TiDB(CentOS 7.5)
cuantangnie3915
运维数据库网络
安装Docker[root@localhost /]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@localhost /]# yum install docker-ce -y[root@localhost tidb]# service docker startRedirecting to /bin/syst
- oracle expdp impdp
福海鑫森
oracle数据库includeschemadatabasestatistics
学ORACLE10G有两个多月了,前面一直是看书查资料,今天想动手做个试验,检验一下前面学习的效果。就从数据库导入导出开始吧!Oracle10g以前数据导入导出提供有imp/exp命令,10g以后提供了新的导入导出命令expdp/impdp。虽然exp/imp已经很好用了,但是唯一的确定是速度太慢,如果1张表的数据有个百千万的,常常导入导出就长时间停在这个表这,但是从Oracle10g开始提供了称
- Oracle数据库数据编程SQL<7.2 推荐管理工具:DBeaver Community安装教程>
Tyler先森
数据库sql
DBeaverCommunity是一款功能强大且免费开源的通用数据库管理工具和SQL客户端,支持几乎所有主流数据库系统。目录一、准备安装包1.官网下载安装包2.下载的程序编辑二、开始安装1.双击程序开始安装,点击【OK】2.直接【下一步】3.选择【我接受】4.选择【Foranyone...】--【下一步】5.注意组件选项,直接【下一步】6.选择自己的安装目录,也可以默认直接点击【下一步】7.【安装
- 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独立出来,数据持