- FPGA和eeprom通信
数 学 王 子
fpga开发
本文有参考【精品博文】IIC通信协议的Verilog实现作者的一些思想,并尝试补充eeprom一端的代码,并不完美,主要是一eeprom完全按照scl上升沿或下降沿采取动作(写数据或读数据),很难在scl低电平中间点使sda线发生变化(似乎不太符合iic协议要求),二另外在FPGA放弃sda线控制权和eeprom取得sda线控制权之间会有一小段高阻态(衔接并不连续),以下代码`timescale1
- hihocoder53
GoDeep
http://hihocoder.com/contest/offers53/problems题目1:继承顺位建树,然后前序遍历packagel531;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.HashSet;importjava.util.List;importjava.util.Map;importjava
- 【免费下载】 推荐开源项目:一键静音——MicMute
焦习娜Samantha
推荐开源项目:一键静音——MicMute在数字化办公和远程会议日益普及的今天,是否曾因为忘记关闭麦克风而尴尬过?MicMute——这款轻巧却强大的工具正是为了解决这一痛点而来。通过简洁直观的操作界面和自定义快捷键,它让你能瞬间控制默认音频输入设备(通常是麦克风),避免不必要的尴尬时刻。项目介绍MicMute是一个简洁高效的Windows应用程序,旨在让用户能够通过点击系统托盘图标或预设快捷键轻松切
- 链路两段不同网段怎么通信_eNSP小实验:不同网段 直连接口 如何互通?
weixin_39662263
链路两段不同网段怎么通信
小实验:不同网段直连接口如何互通?1.当两个路由器不同网段的直连接口封装的链路层协议为PPP协议时:由于在PPP链路协商时彼此可以学习到对方的IP地址,并且自动将对端不在同一个网段的主机路由加到直连路由表中。故只要双方在接口配置了IP地址就可彼此ping通。AR1配置:#sysnameAR1#interfacePos4/0/0link-protocolpppipaddress100.1.1.125
- 公用表表达式(CTE)详解:针对 MySQL 和 SQL Server 数据库
公用表表达式(CTE,CommonTableExpressions)是一种在SQL中定义临时结果集的方法,该结果集在单个查询的执行过程中可以被引用。CTE提高了查询的可读性和结构化,特别适用于复杂的子查询和递归查询。本文将详细介绍CTE的概念和用法,并分别针对MySQL和SQLServer数据库进行说明。什么是公用表表达式(CTE)CTE是一个命名的临时结果集,它在查询的执行范围内有效。CTE的定
- 每日复盘分享
Collue
3-90/Day47/有效学习,从每日复盘分享开始【2021.9.4团队管理篇】开好月度启动会的方法【一】收获新知一、公司要开月度启动会的原因1、因为上月目标完成,大家的心力、体力都有些疲惫;大家的状态有所回落。然而每个月的目标又都很高,所以要开启动会议,正式宣布战役的开启,让大家进入战斗状态。2、一个公司是否有效率取决于管理者是否有效率,管理者是否有效率,取决于管理者有没有良好的工作习惯。每个月
- windows docker-01-desktop install windows10 + wls2 启用
老马啸西风
Docker容器学习实战笔记windowsdocker容器ubuntulinuxk8s运维
windows10安装docker版本信息确认需要区分windows是amd64还是arm64powershell中执行:>echo$env:PROCESSOR_ARCHITECTUREAMD64下载官方https://www.docker.com/products/docker-desktop/下载windowsamd64下载好了直接安装。如何验证powershell中dockerversion
- windows wsl2-06-docker hello world
hello-world例子就像其他任何一门语言一样,我们来体验docker的helloworld$dockerrunhello-world但是报错:~$dockerrunhello-worldUnabletofindimage'hello-world:latest'locallydocker:Errorresponsefromdaemon:Get"https://registry-1.docker
- ensp两台路由器不同网段相互访问
在不使用路由协议情况下实现互通实验要求两台路由器不同网段访问配置命令如下ar1配置GigabitEthernet0/0/0displayintg0/0/0//查看接口mac地址IPadd192.168.1.1arpstatic192.168.2.100e0-fc8f-7f40(ar2网段,mac地址)iproute-static192.168.2.0255.255.255.0GigabitEthe
- git bash命令不够完善,想整合msys2该怎么办?
GitBash本质上是基于MSYS2的精简版,它使用的是一个较轻量的MSYS2环境,因此它们在某种程度上是“同源”的。但是:GitBash是精简的,只提供最基础的Unix工具MSYS2是完整的,可以通过pacman安装很多包想要整合的目的是什么?如果你是想在GitBash里使用更多Linux命令(比如wget、curl、man、zip等),那GitBash本身不支持pacman包管理器,你有两个选
- SPI 与API,以及java,spring,dubbo 三者SPI的区别
✅SPI机制详解:Java/Spring/Dubbo/Maven一、什么是SPI(ServiceProviderInterface)SPI=一种扩展机制,框架通过接口+注册,让你实现并插入自己的逻辑。API(ApplicationProgrammingInterface):框架实现,开发者调用(下行)。SPI(ServiceProviderInterface):框架定义接口,开发者实现,框架调用(
- 12306系统架构的演进
演进过程12306系统架构的演进是中国铁路信息化建设的重要里程碑,其核心围绕高并发处理、数据一致性保障、跨地域容灾三大挑战展开。以下是其分阶段的技术演进过程:第一阶段:单机架构与双机热备(2011年)背景2011年上线初期,12306仅支持京津城际列车购票,日均售票量不足百万。系统采用传统单体架构,依赖小型机和集中式数据库,缺乏分布式设计。架构特点技术栈:JavaServlet+JSP+Sybas
- vrrp技术
完熟芒果忙
智能路由器
VRRP技术概述VRRP(VirtualRouterRedundancyProtocol,虚拟路由器冗余协议)是一种网络协议,用于提高默认网关的可用性。通过将多台路由器组成一个虚拟路由器组,VRRP确保在主路由器故障时,备份路由器能无缝接管流量转发,避免单点故障。VRRP工作原理虚拟路由器组:多台物理路由器组成一个逻辑组,共享一个虚拟IP地址(VIP)和虚拟MAC地址。主/备份选举:通过优先级(0
- windows docker-02-docker 最常用的命令汇总
老马啸西风
Docker容器学习实战笔记dockereureka容器ubuntumavenlinux运维
一、镜像管理命令说明常用参数示例dockerpull:拉取镜像dockerpullnginx:latestdockerimages查看本地镜像dockerimages-a(含中间层镜像)dockerrmi删除镜像dockerrmi-f$(dockerimages-q)(强制删除所有镜像)dockerbuild-t.构建镜像dockerbuild-tmyapp:v1-fDockerfile.prod
- STM32与树莓派通信
bing_feilong
硬件嵌入式硬件
STM32与树莓派(RaspberryPi)的通信常见方案及实现步骤:1.UART串口通信(最简单)适用场景:短距离、低速数据交换(如传感器数据、调试信息)。硬件连接:STM32引脚树莓派引脚备注TXRX(GPIO15)交叉连接RXTX(GPIO14)交叉连接GNDGND共地软件配置:STM32端(使用HAL库):UART_HandleTypeDefhuart1;huart1.Instance=U
- VRRP技术
暴龙战士wef
智能路由器网络
一、VRRP基本概念VRRP(VirtualRouterRedundancyProtocol,虚拟路由器冗余协议)是一种容错协议,通过将多个路由器加入到备份组中形成一台虚拟路由器来承担网关功能。主要特点:提高网络可靠性简化主机配置(主机只需配置虚拟网关IP)应用场景:解决单网关无冗余的问题,当网关出现故障时,内网设备仍可通过备份路由器访问外网。二、VRRP相关概念VRRP组(VRID):由多个路由
- VR全景园区:开启智慧园区新时代
在科技飞速发展的当下,智慧园区建设正如火如荼地展开。其中,全景园区作为智慧园区的创新模式,正逐渐崭露头角,成为推动园区高效运营、创新发展的关键力量。随着数字化进程的不断加快,全景园区的内涵和外延还在持续拓展,为城市和产业发展注入新的活力。一、全景园区的核心定义与价值逻辑全景园区,是借助先进的数字化技术,将园区的物理空间、基础设施、运营管理、服务应用等进行全方位、立体化的呈现与整合,构建出一个高度可
- 华锐云空间平台:开启数字化创新体验新时代
ykjhr_3d
VR实训3D虚拟展厅3D数字捏脸
(一)3D虚拟展厅搭建,轻松打造独特展示空间华锐云空间平台的3D虚拟展厅搭建功能堪称一绝,为用户提供了超过500个丰富多样的展厅模板,这些模板涵盖了各种风格与主题,无论是科技感十足的现代风,还是充满艺术氛围的文艺风,亦或是庄严肃穆的商务风,都能在这里找到。即使你是毫无技术背景的小白,也能轻松上手。平台采用了简单便捷的拖拽式编辑方式,无需掌握复杂的编程技能,只需通过简单的拖拽操作,就能随心所欲地添加
- match_phrase_prefix实现search-time搜索推荐
Shaw_Young
搜索推荐,searchasyoutype,搜索提示,解释一下什么意思hellow-->搜索helloworldhellowehellowinhellowindhellodoghellocathellow-->helloworldhellowehellowinhellowind搜索推荐的功能百度-->elas-->elasticsearch-->elasticsearch权威指南GET/my_ind
- Ubuntu 22.04 安装 Jdk 8和 Tomcat (安装包形式)
jiuqi_玖柒
Ubuntu22.04javaubuntutomcat
一、安装jdk1.81.jdk下载网址,需要登录账户才能下载https://www.oracle.com/java/technologies/downloads/#java82.把安装包上传到服务器上解压根据这个指令直接解压到当前自动生成jdk-8u421文件夹tar-zxvfjdk-8u421-linux-x64.tar.gz3.配置变量vim/etc/profile#在这个配置文件中的最后添加
- Agora_Unity_WebGL:实时互动的WebGL解决方案
Agora_Unity_WebGL:实时互动的WebGL解决方案项目介绍Agora_Unity_WebGL是一个开源的UnityWebGL插件,它是对AgoraWebSDK4.x版本的封装。这个项目旨在为开发者提供一种在Unity中轻松集成实时音视频互动功能的方法,特别适用于需要在Web平台运行的Unity项目。通过这个插件,开发者可以快速地实现实时音频、视频通信以及直播等功能。项目技术分析Ago
- Kubernetes服务发布进阶
YUNYINGXIA
k8s
目录一、Ingress基础概念与工作原理1.1Kubernetes服务暴露方式概述1.2Ingress核心组成1.2.1Ingress对象1.2.2IngressController1.3Ingress工作流程1.4Ingress工作原理图解二、IngressNginxController安装2.1准备工作2.1.1安装Helm2.1.2配置镜像源2.1.3关键参数配置2.2部署IngressNg
- Java学习第五十八部分——设计模式
慕y274
java学习设计模式
目录一、概述提要二、创建型模式——解决“如何创建对象”的问题1.单例模式(Singleton)2.工厂方法模式(FactoryMethod)3.解释器模式(Interpreter)4.建造者模式(Builder)5.原型模式(Prototype)三、结构型模式——解决“如何组合类和对象”的问题1.适配器模式(Adapter)2.桥接模式(Bridge)3.组合模式(Composite)4.装饰器模
- 实现分布式锁
在黑马点评项目中,在实现分布式锁的时候提到了实现的几种方式,本文来简单了解一下。一、MySQL、Redis、ZooKeeper是不是都是“数据库”?严格来说,三者的定位和功能差异很大,但广义上都可以视为“数据存储系统”,不过它们的核心设计目标和适用场景完全不同。我们可以从“数据模型”和“核心用途”两个维度区分:类型MySQLRedisZooKeeper核心定位关系型数据库(OLTP,事务型存储)内
- Zabbix 企业级分布式监控部署
伤不起bb
zabbix分布式
目录一、监控系统基础认知1.为什么需要监控?2.监控的5个层次(从底层到上层)3.监控系统的基本原理二、Zabbix系统详解1.Zabbix是什么?2.Zabbix核心功能3.Zabbix核心组件三、Zabbix部署实战(分布式架构)1.环境准备(4台服务器)2.部署ZabbixServer(核心步骤)步骤1:添加Zabbix源并安装依赖步骤2:配置数据库步骤3:导入Zabbix初始数据步骤4:配
- 关于浏览器扩展脚本:remove-web-limits(网页限制解除)
vvandre
前端
本文介绍浏览器扩展脚本:remove-web-limits(网页限制解除)实现的功能和安装步骤,还会详细分析脚本的代码,让你对实现原理一目了然。此脚本通杀大部分网站,可以解除禁止复制、剪切、选择文本、右键菜单的限制。脚本基本不影响网页正常功能,如果影响了任何功能,可以暂时禁用脚本解决。脚本已有10年的历史,原作者已经暂停维护。remove-web-limits发布地址一、安装步骤1.安装扩展程序C
- 部署Zabbix企业级分布式监控
YUNYINGXIA
Zabbix
目录一、监控系统概述1.1监控的重要性1.2监控类型1.3监控层次划分二、监控系统的实现原理2.1模块组成2.2采集协议2.3监控模式2.4代理架构三、监控系统的开源产品四、Zabbix系统概述4.1初识zabbix4.2Zabbix的功能特性4.3Zabbix角色及架构五、部署流程5.1资源清单5.2基础环境配置5.3部署zabbixserver5.4zabbix页面配置5.5部署proxy5.
- 每日面试题11:JVM
深入理解JVM:Java的“心脏”如何驱动程序运行?为什么需要JVM?你是否想过,为什么用Java写的程序,能在Windows、Linux、macOS上“无缝运行”?为什么开发者无需为不同操作系统重写代码?这背后的核心功臣,正是Java虚拟机(JavaVirtualMachine,JVM)。JVM是Java生态的“基石”,它不仅实现了“一次编写,随处运行”的跨平台特性,还通过内存管理、垃圾回收等机
- Game Programming with DirectX -- 01[初识Direct3D]
GameProgrammingwithDirectX--01[初识Direct3D]第一卷朦胧的3D世界第一集初识Direct3D简介我们通过2个例子来简单的认识3D1.1接口和数据结构我们首先来看看我们以后用的比较多的接口,a.IDirect3D9b.IDirect3DDevice9c.IDirect3DVertexBuffer9d.IDirect3DIndexBuffer9e.IDirect3
- vue自定义组件实现v-model双向数据绑定
小李大魔王
前端开发vuevue.jsjavascript前端
一、Vue2实现自定义组件双向数据绑定①v-model实现双向数据绑定在vue2中,子组件上使用v-model的值默认绑定到子组件的props.value属性上,由于子组件不能改变父组件传来的属性,所以需要通过$emit触发事件使得父组件中数据的变化,然后再同步到子组件。vue2默认触发v-model数据变化的事件为input。使用如下:子组件MySon 双向数据绑定:{{$props.val
- 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独立出来,数据持