- 前端引入ffmepg 对视频画矩形贴图
全赣州最老实的男人guoy
前端音视频ffmpegvue
业务场景:和后端联调中视频监控需要把人员位置框出,返回的后端只给视频和框选位置先上效果图成功给视频添加了两个框demo技术框架vue3+vite+typeScript引入ffmepgnpmi@ffmpeg/ffmpeg2.项目中引入import{createFFmpeg,fetchFile}from'@ffmpeg/ffmpeg/dist/ffmpeg.min.js'3.可能会出现的报错Share
- FFmpeg DASH部分指令参数参考
D_R_M
window_size默认值:int:0—取值范围:[0,int_max]--清单中保留的最大段数extra_window_size默认值:int:5—取值范围:[0,int_max]--从磁盘中删除之前保留在清单外部的最大段数min_seg_duration默认值:int64:5000000取值范围:[0,int_max]--最小段持续时间(以微秒为单位)--默认值:5sremove_at_ex
- ffmpeg一些基本用法
980205
ffmpeg流媒体
来源:ffmpeg一些基本用法|王石头的博客(iwangsen.com)音视频操作,几乎绕不开ffmpeg,因为市面上绝大多数音视频播放软件、转码软件,内核都是它。它非常的强大,轻松几条命令就可以顺利完成你想做的工作我来汇总一些经常使用的命令首先在cmd窗口进入到ffmpeg目录里面最简单的视频格式转换ffmpeg-iD:\Media\IMG_0873.MOV-ccopyD:\Media\outp
- ffmpeg 命令转vp9
980205
ffmpeg
mp4转vp9./ffmpeg-itest.mp4-pix_fmtyuv420p10le-c:vlibvpx-vp9-b:v0-crf31-speed1-qualitygood-static-thresh4 -lag-in-frames25 -fwebmout.webmyuv转vp9,需要指定yuv的高宽//转vp9./ffmpeg-pix_fmtyuv420p-s704*576 -i out.y
- FFMepg av_lockmgr_register
980205
ffmpeg
FFMpeg多路h.264视频用多线程播放有关问题怎么解决FFMpeg多路h.264视频用多线程播放问题如何解决本帖最后由x6wang于2014-10-1014:50:37编辑panfeng_87网友曾经发布过下列问题:“我用类接口的方式封装了ffmpeg,想的是每一个类的实例解码一路视频。类的其他部分没有对公共变量/全局变量的使用,但目前就是不知道ffmpeg中是否使用了一些全局资源或是相关的东
- HPlayer 开源项目安装与使用教程
虞熠蝶
HPlayer开源项目安装与使用教程hplayerAmulti-screenplayerusingQt+FFmpeg.项目地址:https://gitcode.com/gh_mirrors/hp/hplayer项目概述HPlayer是一个由GitHub用户ithewei开发的开源媒体播放器项目。本文档旨在提供详细的指南,帮助开发者和用户理解其内部结构、启动流程以及配置方法,从而更有效地使用或贡献于
- FFmpeg任意文件读取漏洞分析
音视频开发老马
ffmpeg
背景介绍FFmpeg是一套目前非常流行的可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。目前有非常多的视音频软件或是视频网站、手机APP都采用了这个库,但是这个库历史上曝出的漏洞也非常之多。这次的漏洞是利用了ffmpeg可以处理HLS播放列表的功能,在AVI文件中的GAB2字幕块中嵌入了一个HLS文件,然后提供给ffmpeg进行转
- FFmpeg源码:compute_frame_duration函数分析
cuijiecheng2018
FFmpeg源码分析ffmpeg
一、compute_frame_duration函数的定义compute_frame_duration函数定义在FFmpeg源码(本文演示用的FFmpeg源码版本为7.0.1)的源文件libavformat/demux.c中:/***Returntheframedurationinseconds.Return0ifnotavailable.*/staticvoidcompute_frame_dur
- 使用ffmpeg的c++库读取视频流和其中的SEI数据
simple_whu
c++vcpkgffmpegc++开发语言
使用ffmpeg读取视频流和其中的SEI数据(未完待续)FFmpeg是一个多媒体软件框架,支持多种新旧视频编码格式,提供解码、编码、转码、多路复用、解复用、流式传输、过滤和播放等功能。其包含:C++库libavcodec、libavutil、libavformat、libavfilter、libavdevice、libswscale和libswresample基于库构建的命令行工具ffmpeg\f
- FFmpeg的日志系统(ubuntu 环境)
小猪佩qier
FFmpegffmpegubuntulinux
1.新建.c文件vimffmpeg_log.c2.输入文本#include#includeintmain(){av_log_set_level(AV_LOG_DEBUG);av_log(NULL,AV_LOG_INFO,"helloworld");return0;}当loglevel=0){tint=level&0xff00;level&=0xff;}if(level>av_log_level)r
- ffmpeg读取文件速度的控制
PETER327447
音视频:ffmpeg
两种方法:(1)根据采样率算出每帧播放时间t,然后sleep(t);笨办法(2)根据读取的AVpacket的pts控制速度,核心思想:将ffmpeg的pts转换成系统时间,然后比较当前时间和读取的pts时间,差值即为控制的因素1、获取启动时间,start_time=av_gettime();2、转换avpacket的ptsAVRationaltime_base=m_pFormatContext->
- rk3588音视频硬件编解码介绍
三十度角阳光的问候
音视频
目录ffmpegrk3588系列芯片编程方法最终的输出结果ffmpeg示例程序ffmpeg音视频处理中通常是用ffmpeg进行软件音视频编解码aac/h264编码,但其运行速度过慢消耗cpu占用率。因此需要寻找音视频硬件编解码方法。rk3588系列芯片自带音视频硬件编解码框架ffmedia或者mpp,其内部原理是配合内部硬件rga内存,把音视频数据读入内部rga内存中进行Mpp硬件编解码计算,包括
- 【FFMPEG】Install FFmpeg CUDA gltransition in Ubuntu
RockWang.
环境配置ffmpegubuntulinux
因为比较复杂,记录一下自己安装过程,方便后续查找,所有都是在docker环境安装cuda11.7的**ffmpeg4.2.2nv-codec-headers-9.1.23.3**手动下载安装吧https://github.com/aperim/docker-nvidia-cuda-ffmpeg/blob/v0.1.10/ffmpeg/Dockerfile最好手动一个一个安装,错误跳过,后面报错再说
- ffmpeg的安装和使用教程
不会代码的小林
ffmpeg
FFmpeg是一款功能强大的开源多媒体处理工具,支持几乎所有视频和音频格式的转换、压缩、合并、裁剪等功能。以下是FFmpeg在Windows系统上的安装步骤:下载FFmpeg安装包访问FFmpeg的官方网站(https://ffmpeg.org/download.html)下载最新版本的安装包。在官网页面中选择适合Windows的版本(通常是zip格式的releasebuilds)。解压安装包将下
- ffmpeg+nvidia 编码错误
嵌入梦想
工具视频编解码
ffmpegversiongit-2021-12-31-6b7e4deCopyright(c)2000-2021theFFmpegdevelopersbuiltwithgcc7(Ubuntu7.5.0-3ubuntu1~18.04)configuration:--pkg-config-flags=--static--extra-libs='-lpthread-lm'--ld=g++--enable
- OpenglEs之EGL环境搭建
FlyerGo
Opengl音视频c++opengl
前言前面我们发布了一系列的入门教程,例如C++系列的指针扫盲、多线程的使用等,JNI入门系列,ffmpeg入门系列等,有感兴趣的童鞋们可以关注往回自行查阅。今天我们的主题依然是音视频开发的范畴,做过音视频开发的都知道Opengl也是音视频开发中的一项重要技能,特别是涉及到视频录制、特效处理、画质渲染细分功能。因此后续笔者打算再出一系列的OpenglES的学习笔记,希望能与大家共同温故知新。因为前面
- FFmpeg 7.0 版本 “Dijkstra”的特点概述
Codec Conductor
FFmpegffmpegFFmpeg音视频
FFmpeg7.0FFmpeg官网:https://ffmpeg.org/FFmpeg官网更新日志,2024.4.5号发布代号"Dijkstra"的7.0版本的FFmpeg,如下截图:为什么叫Dijkstra“Dijkstra”指的是艾兹格·戴克斯特拉(EdsgerWybeDijkstra),他是一位荷兰计算机科学家,对计算机科学领域做出了巨大贡献。戴克斯特拉最著名的成就之一是发明了最短路径算法,
- FFmpeg的入门实践系列七(滤镜)
星海逐愿
ffmpegffmpeg
欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力文章目录前期博客一、滤镜过滤器filter的简介FFmpeg编程的四大结构体1.滤镜AVFilter2.滤镜图AVFilterGraph3.滤镜实例AVFilterContext4.滤镜输入输出参数AVFilterInOut二、使用滤镜加工音视频前期博客FFmpeg的入门实践系列一(环境搭建)F
- ffmpeg命令详解
weixin_42178492
java基础工作相关经验集锦
ffmpeg命令详解(转)FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。[百度百科]ffmpeg使用语法ffmpeg使用语法:ffmpeg[[o
- JAVA实现H264视频流推送到RTSP、RTMP服务----JavaCV
燎原君
javajava视频
前提:1.准备好rtsp、rtmp服务2.准备好视频流接收程序目录POM依赖配置关键代码原理说明POM依赖配置org.bytedecojavacv1.4.4org.bytedeco.javacpp-presets*org.bytedeco.javacpp-presetsffmpeg4.1-1.4.4org.bytedeco.javacpp-presetsffmpeg4.1-1.4.4${javac
- ffmpeg提取音频文件
亚林瓜子
问题从特定的mp3音频文件中,提取一部分作为新的mp3文件ffmpegffmpeg-ia.mp3-ss00:25:00-to00:28:20-acodeccopyb.mp3-i输入的文件-ss从指定时间点开始提取-to到指定时间点结束提取-acodeccopy新生成的文件使用原来的格式参考用ffmpeg来切割mp3ffmpegDocumentation
- 利用javacv实现视频转h264
daqinzl
流媒体ffmpeg视频音频视频转换h264javacvffmpeg
网上找到的一个实用的视频转换工具类,可将视频转为h264编码(方便在浏览器下播放视频)。importorg.bytedeco.ffmpeg.avcodec.AVCodecParameters;importorg.bytedeco.ffmpeg.avformat.AVFormatContext;importorg.bytedeco.ffmpeg.avformat.AVStream;importorg
- 推荐书籍:FFmpeg从入门到精通
微创光电技术团队
音视频
本书是一本介绍FFmpeg的实战技术指南,全书共10章,分为两个部分。第一部分部分(第1~7章)为FFmpeg的命令行使用篇,介绍了FFmpeg的基础组成部分、FFmpeg工具使用、FFmpeg的封装操作、FFmpeg的转码操作、FFmpeg的流媒体操作、FFmpeg的滤镜操作、FFmpeg的设备操作。第二部分(第8~10章)为FFmpeg的API使用篇,介绍了FFmpeg封装部分的API使用操作
- ffmpeg入门到精通-音频采集
Lucy-JY
FFMPEG
流程:注册设备avdevice_register_all();获取输入对象格式av_find_input_format(FMT_NAME)打开设备avformat_open_input打开文件写入数据结束关闭文件、关闭设备#include"audiothread.h"#include#include#include#includeextern"C"{#include#include#include
- 16 - FFmpeg 视频过滤器 方式2
Super小白&
FFmpegffmpeg音视频
代码等效密令【测试用】/**ffmpeg-i9.5.flv-vf"split[main][tmp];[tmp]crop=iw:ih/2:0:0,vflip[flip];[main][flip]overlay=0:H/2"-b:v500k-vcodeclibx2649.5out.flv*-vf:视频滤镜选项,后面跟着的字符串指定了要应用的多个滤镜。*视频滤镜部分(-vf"...")*split[ma
- 通俗易懂版经典的黑客入门教程
程序员橙橙
网络网络安全web安全计算机网络安全
给大家的福利基于入门网络安全打造的:黑客&网络安全入门&进阶学习资源包第一节、黑客的种类和行为以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”
- 支持nvidia显卡硬件加速的ffmpeg库编译
wjsiou123
ffmpeg
前提是安装了cuda#安装nvidia-codec-headergitclonehttps://github.com/FFmpeg/nv-codec-headers.gitcdnv-codec-headers/sudomakeinstall#安装必要库sudoaptinstallbuild-essentialyasmcmakelibtoollibc6libc6-devunzipwgetlibnum
- 音视频开发—FFmpeg打开麦克风,采集音频数据
Trump. yang
音视频开发音视频ffmpeg
文章目录1.使用命令行实现采集PCM数据2.使用代码实现3.播放PCM4.PCM转换为WAV1.使用命令行实现采集PCM数据确保你的系统有FFmpeg安装。你可以通过在终端运行ffmpeg-version来检查是否已安装。找出你的麦克风设备名。在Linux中,你可以使用arecord-l命令列出所有的音频录制设备。使用FFmpeg录制音频。下面是一个基本的命令示例,它使用FFmpeg从麦克风捕获音
- FFmpeg 编译支持的格式
夢鑰
ffmpegffmpeg
[
[email protected]]$./configure--helpUsage:configure[options]Options:[defaultsinbracketsafterdescriptions]Helpoptions:--helpprintthismessage--quietSuppressshowinginformativeoutput--list-decod
- 使用ffmpeg命令实现录制摄像头和麦克风
CrsCode
ffmpeg
最近有个需求,需要将USB摄像头和麦克风录制为MP4视频文件,之前用过ffmpeg推视频流所以还准备用ffmpeg命令实现,开始以为很简单在网上找点现成得命令用。但是和上次一样,不知道其他博主有没有亲自尝试过还是直接复制过来的,复制到我的设备基本上没有能用得,接下来我就把我得经验给大家分享一下,大家共同努力共同进步!1.使用ffmpeg准备工作之前我的文章已经详细讲解过如何下载、安装、使用ffmp
- 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独立出来,数据持