- linux查看git log目录,教你玩转Git-查看提交历史
郁清叔叔
linux查看gitlog目录
导读Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持。在使用Git提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用gitlog命令查看。针
- GIT代码托管工具
Rebirth-LSS
笔记git
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。集中式集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始操作,再把自己的活推送给中央服务器。集中式版本控制系统有一个缺点就是必须联网才能工作,遇到网速慢的话,可能提交就比较慢。像CVS、SVN都属于集中式的控制系统分布式分布式版本控制系统没有“
- C#调用OpenCvSharp实现图像的直方图均衡化
gc_2299
dotnet编程OpenCvSharp直方图均衡化
本文学习基于OpenCvSharp的直方图均衡化处理方式,并使用SkiaSharp绘制相关图形。直方图均衡化是一种图像处理方法,针对偏亮或偏暗的图像,通过调整图像的像素值来增强图像对比度,详细原理及介绍见参考文献1-4。 直方图均衡化第一步要将彩色图像转换为灰度图像,调用OpenCvSharp中的Cv2.CvtColor函数转换,主要代码及效果图如下所示:MatoriImage=Cv2.Im
- 视频监控管理平台LntonCVS视频汇聚平台充电桩视频监控应用方案
羚通科技
LntonCVS音视频人工智能实时音视频算法智慧城市
随着新能源汽车的广泛使用,公众对充电设施的安全性和可靠性日益重视。为了提高充电桩的安全管理和站点运营效率,LntonCVS公司推出了一套全面的新能源汽车充电桩视频监控与管理解决方案。该方案通过安装高分辨率摄像头,对充电桩及其周边区域进行不间断监控,确保充电环境的安全无虞。这些摄像头具备夜视能力,即便在光线昏暗的条件下也能捕捉到清晰的图像。此外,系统支持远程查看功能,使管理人员能够随时随地通过移动设
- tcp流式套接字和udp数据报套接字编程区别
weixin_30376083
网络
1.流式套接字采用字节流方式进行传输,而数据报套接字使用数据报形式传输数据2.tcp套接字会产生粘包,udp有消息边界,不会形成粘包。3.tcp编程可以保证消息的完整性,udp则不能保证4.tcp需要listenaccept,udp不用5.tcp消息的发送接收使用recvsendsendall,udp使用recvfrom,sendto转载于:https://www.cnblogs.com/zeng
- 第13章 网络安全漏洞防护技术原理与应用
sinat_34066134
web安全安全网络
第13章网络安全漏洞防护技术原理与应用13.1网络安全漏洞概述13.1.1网络安全漏洞概念漏洞一般是致使网络信息系统安全策略相冲突的缺陷。13.1.2网络安全漏洞威胁13.1.3网络安全漏洞问题现状CVE、CWE、FIRST、CVSS、NVD、13.2网络安全漏洞分类与管理13.2.1网络安全漏洞来源非技术性安全漏洞的主要来源网络安全责任主体不明确网络安全策略不完备网络安全操作技能不足网络安全监督
- opencv 下载地址
周亚权
linuxandroid
opencv官网http://opencv.org/github仓库https://github.com/opencvopencvsdk资源https://sourceforge.net/projects/opencvlibrary/files/
- 深入了解OpenCVSharp中常见的图像处理功能
仰望大佬007
图像处理opencv计算机视觉c#
深入了解OpenCVSharp中常见的图像处理功能前言1.图像加载与保存2.图像基本操作3.图像滤波4.边缘检测5.图像分割6.特征检测与描述子7.目标识别与跟踪8.图像融合与拼接9.形状匹配与模板匹配10.颜色空间转换与直方图11.图像转换与绘制12.图像分类与机器学习13.高级图像处理算法14.GPU加速与并行计算前言OpenCVSharp是C#语言中用于图像处理和计算机视觉的开源库,它提供了
- CMAKE实践读书笔记(1)P1-P12
嘉子的秃头日记
CMAKE实践读书笔记c++
目录关于kitware公司关于VTK关于KDE4关于SVN和CVS关于类BSD许可Q:什么是native编译配置文件Q:Xcode是什么Q:MSVC是什么关于kdelibs和autotoolsQ:什么是pkg-config关于mkdir关于stdio.h和iostreammain.cCmakeLists.txt关于MESSAGE关于${}Q:HELLO_BINARY_DIR和HELLO_SOURC
- QT MinGW64编译vlc源码
小条小杂鱼
QT学习实战qt开发语言
编译环境搭建参考文章《QTMingw32/64编译ffmpeg源码生成32/64bit库以及测试》,搭建msys64环境;运行msys.exe,运行:pacman-Sgitsubversioncvsautomakeautoconflibtoolm4makegettextpkg-configmingw-w64-i686-luafindutilsmingw-w64-i686-headersyasmpa
- C# OpenCvSharp DNN Low Light image Enhancement
天天代码码天天
C#人工智能实践dnn人工智能神经网络机器学习计算机视觉深度学习c#
目录介绍效果模型信息项目代码下载C#OpenCvSharpDNNLowLightimageEnhancement介绍github地址:https://github.com/zhenqifu/PairLIE效果模型信息ModelProperties-----------------------------------------------------------------------------
- Git常用命令整理
刘贤松
工具git
在介绍安装和简单使用前,先看一下百度百科中的简介吧:————————————————————————————————————————Git---Thestupidcontenttracker,傻瓜内容跟踪器。Linux是这样给我们介绍Git的:Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源
- java web 前端开发框架和流程
韩大帅666
前端前端
1通常JavaWeb开发框架举个例子,对于广告系统的来说,我们先不管一些job,CACHE,config...这些优化,些框架和分层可以是这样的,MVC的技术选型:V:FreeMarkervsJSP/VelocityC:SpringMVCvsStruts/WebworkM:SPRING/JPA/HibernatevsiBatis2前端V的架构前端开发刚兴起的阶段,前端开发人员的工作经常穿插在后端开
- UE4读取CSV表格配置数据
啸狼
Unreal
开发游戏时,经常会采用表格文件来存储游戏相关配置数,比如玩家的最大健康值、魔法值等,以及NPC的属性配置等。在Unreal下,无须自己编写表格文件的读取及解析代码,可以直接使用Unreal自带的读取表格数据功能。下面通过一个简单示例来说明如何通过Unreal来读取CVS格式的表格数据。表格数据示例如下:注意,表格第一个单元格必须为空,第一行为每一列的名称,该行数据也是存取每一列数据的唯一标识。表格
- JavaScript实现算数验证码
念念碎平安夜
一、界面.code_a{color:#0000ff;font-size:12px;text-decoration:none;cursor:pointer;}#cvs{cursor:pointer;}varvalicode;functionchangeCode(){varcvs=document.getElementById("cvs");valicode=drawcode(cvs);}functi
- 信息安全中常用术语介绍
L.Lawliet
信息安全信息安全安全漏洞
信息安全中常用术语介绍目录信息安全中常用术语介绍什么是VUL什么是0day漏洞和0day攻击什么是CVE什么是CWE什么是PoC什么是Exp什么是漏洞靶场什么是CVSS什么是OVAL什么是CCE什么是CPE什么是XCCDF什么是SCAP参考文档本文在原文基础上又进行了些许资料搜集整理,希望对大家有所帮助。在一些重大的安全事件发生后,经常会在相关新闻或文档中看到一些相关的安全术语,比如:VUL、CV
- 树莓派opencv(基于Spyder进行编写)学习笔记一:进行准备安装的工作
芝麻糊76
opencvpythonopencv
一、安装python-opencv1.更新树莓派系统时间较长,期间有需要选择y/n时需要选择y(即yes)才会继续安装sudoapt-getupdatesudoapt-getupgrade2.安装python-opencvsudoapt-getinstalllibopencv-devsudoapt-getinstallpython-opencv二、在python2上面测试opencv安装好后在命令
- R语言管道操作及绘制数据集对比图和回归线的基础并简单建模
环能jvav大师
r语言开发语言
使用了R语言自带的数据框mtcars,里面包含了各品牌型号的车辆参数信息。可以使用head()函数先查看下数据框信息:>head(mtcars)mpgcyldisphpdratwtqsecvsamgearcarbMazdaRX421.061601103.902.62016.460144MazdaRX4Wag21.061601103.902.87517.020144Datsun71022.84108
- IDEA 初始化 Git 本地仓库,并提交到远程仓库超详细图文步骤
=蜗牛=
实用教程gitideamavengitlab
1、简介1.1、IDEA概述IDEA全称IntelliJIDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和
- git
运维开发_西瓜甜
版本控制介绍版本控制系统之前如何维护文档的版本集中式和分布式集中式版本控制集中式版本控制,版本库是集中存放在中央服务器的,用的都是自己的电脑干活,所以要先从中央服务器取得最新的版本,然后再开始干活,干完活了,再把自己的活推送给中央服务器。需要联网。有代表性的软件:cvs、svnimage.png分布式版本控制分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作
- Canvas绘制坐标轴、折线图
"努力敲代码的朱姝祎i
body{background:black;}canvas{border:1pxsolidsaddlebrown;}varcvs=document.getElementById(“cvs”);varctx=cvs.getContext(“2d”);varpadding={top:10,left:10,right:10,bottom:10}vararrow={width:10,height:20}/
- Git 基本原理介绍
Docker_
javagitgithubpythondocker
简单地说,Git究竟是怎样的一个系统呢?请注意接下来的内容非常重要,若你理解了Git的思想和基本工作原理,用起来就会知其所以然,游刃有余。在学习Git时,请尽量理清你对其它版本管理系统已有的认识,如CVS、Subversion或Perforce,这样能帮助你使用工具时避免发生混淆。尽管Git用起来与其它的版本控制系统非常相似,但它在对信息的存储和认知方式上却有很大差异,理解这些差异将有助于避免使用
- Airtest使用的图像识别算法识别比较慢解决办法,改变算法的运算顺序或者指定一种算法,提高Airtest图像识别效率
大数据采集及分析
服务器
Airtest使用的图像识别算法识别比较慢解决办法,改变算法的运算顺序或者指定一种算法,提高Airtest图像识别效率调整Airtest图像识别算法的使用顺序fromairtest.core.settingsimportSettingsasST#调整Airtest图像识别算法的使用顺序ST.CVSTRATEGY=["mstpl","tpl","sift","brisk"]指定一种算法(mstpl算
- Goby 漏洞发布|网神SecGate 3600防火墙 sys_export_conf_local_save 文件读取漏洞
Gobysec
Goby红队版漏洞网络服务器运维
漏洞名称:网神SecGate3600防火墙sys_export_conf_local_save文件读取漏洞EnglishName:NetgodSecGate3600Firewallsys_export_conf_local_saveFileReadVulnerabilityCVSScore:8.0影响资产数:738漏洞描述:网神SecGate3600防火墙是基于状态检测包过滤和应用级代理的复合型硬
- NCCL源码解析: 共享内存连接的建立
Happy_Enger
NCCLNCCLSHMnvidiaP2P
文章目录前言概括详解1.shmCanConnect()2.shmSendSetup3.shmRecvSetup前言NCCL源码解析总目录我尽量在每个函数之前介绍每个函数的作用,建议先不要投入到函数内部实现,先把函数作用搞清楚,有了整体框架,再回归到细节。习惯:我的笔记习惯:为了便于快速理解,函数调用关系通过缩进表示,也可能是函数展开,根据情况而定。如下//调用proxyConnInitNCCLCH
- rust嵌入式开发之RTICvsEmbassy
jxandrew
智能控制rust嵌入式rticEmbassy
RTIC和Embassy是目前rust嵌入式开发中比较热门的两个框架。本来呢,针对RTIC的移植已经完成了一小半,但在移植过程中感受到了RTIC的不足,正好跳出来全面考察下embassy,本文就是根据目前的尝试结果做个对比总结。RTIC和Embassy是两种完全不同的思路:1、RTIC是基于MCU强大的中断体系以中断来驱动,所以RTIC的重心是放到了数据的隔离上,可参考rust嵌入式开发补充,整个
- C# OpenVINO 图片旋转角度检测
天天代码码天天
C#人工智能实践OpenVinoopenvino人工智能opencv目标检测机器学习深度学习神经网络
目录效果项目代码下载效果项目代码usingOpenCvSharp;usingSdcb.OpenVINO;usingSystem;usingSystem.Diagnostics;usingSystem.Drawing;usingSystem.Linq;usingSystem.Runtime.InteropServices;usingSystem.Security.Cryptography;using
- C# OpenCvSharp DNN 部署yolov4目标检测
乱蜂朝王
人工智能dnnYOLO目标检测opencv机器学习人工智能深度学习
目录效果项目代码下载效果项目代码usingOpenCvSharp;usingOpenCvSharp.Dnn;usingSystem;usingSystem.Collections.Generic;usingSystem.Drawing;usingSystem.IO;usingSystem.Linq;usingSystem.Windows.Forms;namespaceOpenCvSharp_DNN
- git的奇特知识点
虫虫教父
git
展示帮助信息githelp-gThecommonGitguidesare:attributesDefiningattributesperpathcliGitcommand-lineinterfaceandconventionscore-tutorialAGitcoretutorialfordeveloperscvs-migrationGitforCVSusersdiffcoreTweakingdi
- eclipse转到Intellij IDEA,分享一些配置经验
weixin_34342207
开发工具python移动开发
2019独角兽企业重金招聘Python工程师标准>>>刚从eclipse转到IntellijIDEA,分享一些配置经验,IntelliJIDEA作为最好的Java开发工具,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发。intellijidea常用快捷键mac版command+N查找
- 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独立出来,数据持