- 如何在不同的Python版本中使用pip freeze命令?
若木胡
pythonpip开发语言
Python2.x版本中使用pipfreeze命令确认pip安装:在Python2.x环境中,首先要确保已经安装了pip。如果没有安装,可以通过下载get-pip.py文件(可以从官方网站获取),然后在命令行中使用pythonget-pip.py来安装pip。使用pipfreeze:安装好pip后,在命令行中(命令提示符或者终端,取决于操作系统),进入包含Python2.x解释器的目录路径,然后激
- pythonocc安装_PythonOCC开发-如何搭建开发环境和一个创建圆台例子
weixin_39884100
pythonocc安装
我本来是打算学习C++OCC的,但是感觉C++太难了,虽然OpenCasCAD里面有个MFC的例子,但是我连一个开发环境都没搭建出来。后来知道有个老外把C++OCC封装成了PythonOCC,就打算去研究一下。虽然网上百度到了资料,但是我还是慢慢摸索到处问别人,搞了两个多小时才成功的把环境搭建起来。转载出处,学习资料https://blog.csdn.net/weixin_42755384/art
- python input函数的应用(接收用户的输入)_python中使用input()函数获取用户输入值方式...
weixin_39550258
python
python中使用input()函数获取用户输入值方式我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以下程序演示。user_gender=input("Pleaseenteryourgender(F/M):")print(f'Yourgenderis{user_gender}')要注意的是在sublime编
- Python获取能唯一确定一棵给定的树的最少数量的拓扑序列
weixin_30777913
数据结构python
称一个111~nnn的排列{p}={p1,p2,⋯ ,pn}\{p\}=\{p_1,p_2,\cdots,p_n\}{p}={p1,p2,⋯,pn}是一棵n个点、点编号为111至nnn的树TTT的拓扑序列,当且仅对于任意1≤iij>ij>i满足pip_ipi与pjp_jpj之间有连边。给定树TTT,你需要给出尽可能少的该树的拓扑序列{p1},{p2},⋯ ,{pk}\{p_1\},\{p_2\},
- Please install flash attention flash_attn
AI算法网奇
python宝典python
Pleaseinstallflashattentionflash_atten安装pipinstallflash_attnlinux安装成功:版本flash-attn-2.7.0.post2github如果失败:https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.0.post2/flash_attn-2.7.0.po
- PythonOCC-Core 使用教程
陆骊咪Durwin
PythonOCC-Core使用教程pythonocc-coretpaviot/pythonocc-core:是一个基于Python的OpenCASCADE(OCCT)几何内核库,提供了三维几何形状的创建、分析和渲染等功能。适合对3D建模、CAD、CAE以及Python有兴趣的开发者。项目地址:https://gitcode.com/gh_mirrors/py/pythonocc-core项目介绍
- 【明明安装flash-attn成功,但是import的时候报错】
厂泉心
python自然语言处理
ImportError:Thismodelingfilerequiresthefollowingpackagesthatwerenotfoundinyourenvironment:flash_attn.明明安装flash-attn成功,但是import的时候报错问题描述:运行Llama2需要flash-attn,在https://github.com/Dao-AILab/flash-attenti
- pythonocc的安装
Tony_xxx
python
https://pythonocc.wordpress.com/2013/03/04/installing-on-ubuntu-12-04/官方教程https://github.com/tpaviot/oce/blob/master/BUILD.Unix.mdhttps://github.com/tpaviot/pythonocc-core/blob/master/INSTALL.mdgitclo
- PythonOCC-Core 安装和配置指南
邹稳潜Willard
PythonOCC-Core安装和配置指南pythonocc-coretpaviot/pythonocc-core:是一个基于Python的OpenCASCADE(OCCT)几何内核库,提供了三维几何形状的创建、分析和渲染等功能。适合对3D建模、CAD、CAE以及Python有兴趣的开发者。项目地址:https://gitcode.com/gh_mirrors/py/pythonocc-core1
- 【自然语言处理(NLP)】基于Transformer架构的预训练语言模型:BERT 训练之数据集处理、训练代码实现
道友老李
自然语言处理(NLP)自然语言处理transformer
文章目录介绍BERT训练之数据集处理BERT原理及模型代码实现数据集处理导包加载数据生成下一句预测任务的数据从段落中获取nsp数据生成遮蔽语言模型任务的数据从token中获取mlm数据将文本转换为预训练数据集创建Dataset加载WikiText-2数据集BERT训练代码实现导包加载数据构建BERT模型模型损失训练获取BERT编码器个人主页:道友老李欢迎加入社区:道友老李的学习社区介绍**自然语言
- 在阿里云服务器上搭建gitlab服务器
青面鬼王
工具使用linux后端git
gitlab最近越来越流行,公司这边也开始打算从svn转到git。所以在自己买的阿里云服务器上练练手,我的阿里云服务器是CentOS8.2版本。1、安装git依赖yum-yinstallpolicycoreutilsopenssh-serveropenssh-clientspostfix2、下载gitlab镜像wgethttps://mirrors.tuna.tsinghua.edu.cn/git
- C++五子棋游戏-含禁手
早莺_huachen
游戏c++
五子棋游戏https://github.com/2810zhc/Simple_Gomoku项目简介这是一个简单的五子棋游戏,支持玩家对战、玩家与机器人对战两种模式。游戏支持计时功能,并具有判定禁手与胜负的规则。采用了博弈树且包含基本的禁手功能(“三、三”“四、四”“长连”),考虑到了不同的禁手可能,如连续活三和跳跃活三。功能概述玩家对战:两个玩家轮流下棋,直到某一方获胜或棋盘满为止。人机对战:玩家
- 分享10个实用的Python工具的源码,支持定制
mosquito_lover1
python开源
1.音频处理工具【免费】一个功能丰富的音频处理工具箱,支持音频格式转换、剪辑和音量调节等功能资源-CSDN文库2.视频转换工具【免费】一个简单易用的视频格式转换工具,支持多种常见视频格式之间的转换资源-CSDN文库3.PDF工具箱【免费】一个功能强大的PDF工具箱,提供PDF合并和分割功能资源-CSDN文库4.系统监控工具【免费】一个实时系统监控工具,可以监控CPU、内存、磁盘和网络使用情况资源-
- GitLab 部署和配置指南
獨梟
代码管理gitlab
GitLab部署和配置指南1.GitLab容器配置概述在部署GitLab时,可能涉及以下几部分内容:内置Nginx的配置和调整。HTTPS证书的申请、使用和续期。通过FRP映射内网服务到外部服务器。阿里云服务器的Nginx配置和反向代理。本文将完整涵盖这些配置,帮助您成功部署和维护GitLab服务。2.FRP配置2.1FRP客户端配置文件(群晖/内网)使用以下示例配置文件,通过FRP将GitLab
- 云服务器GitLab安装配置
劈柴哥
服务器git运维github
1下载安装包可以选择版本10.0.0-ce.0.el7版本wgethttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm14.9.2-ce.0.el8版本wgethttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/
- 扫雷游戏(基础版)
bae-唯一
游戏c++
我们用C语言代码实现了一个简单的控制台版扫雷游戏,代码分为三个部分,分别是头文件中定义的函数声明以及两个源文件game.h和test.c,game.c。1.头文件(game.h)部分首先包含了(用于标准输入输出操作,像printf、scanf函数的使用)、(获取时间相关信息,用于初始化随机数生成器)和(包含了如rand、srand等函数,用于生成随机数以及内存分配等相关操作)这几个常用的标准库头文
- python怎么爬网站视频教程_python爬虫爬取某网站视频的示例代码
weixin_39630247
python怎么爬网站视频教程
把获取到的下载视频的url存放在数组中(也可写入文件中),通过调用迅雷接口,进行自动下载。(请先下载迅雷,并在其设置中心的下载管理中设置为一键下载)实现代码如下:frombs4importBeautifulSoupimportrequestsimportos,re,timeimporturllib3fromwin32com.clientimportDispatchclassDownloadVide
- 如何防御暴力攻击(Brute Force Attack)?
安全防护
在不断变化的网络安全世界中,了解各种类型的攻击是保护自己或企业的第一步。其中一个常见的威胁是暴力攻击。让我们深入了解什么是暴力攻击,它是如何工作的,以及如何防止它。什么是暴力攻击顾名思义,暴力攻击依赖于暴力破解,这意味着它不利用任何软件漏洞或使用复杂的技术。相反,它依赖于纯粹的计算能力来彻底尝试所有的可能性。暴力攻击是一种反复试验的方法,用于获取诸如个人识别号码(PINs)、用户名、密码或其他类型
- Cisco APIC 6.1(2g)F - 应用策略基础设施控制器
cisco
CiscoAPIC6.1(2g)F-应用策略基础设施控制器ApplicationPolicyInfrastructureController(APIC)请访问原文链接:https://sysin.org/blog/cisco-apic-6/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科应用策略基础设施控制器(APIC)CiscoNX-OS网络操作系统软件CiscoNX-OS
- XML DOM 节点列表
shangaoo
xmlwindowsmicrosoft
节点列表由getElementsByTagName()方法和childNodes属性返回。尝试一下-实例下面的实例使用XML文件books.xml。函数loadXMLDoc(),位于外部JavaScript中,用于加载XML文件。从第一个元素获取文本本例使用getElementsByTagName()方法从"books.xml"中的第一个元素获取文本。使用length属性遍历节点本例使用节点列表和
- 推荐使用:Container Queries Prolyfill —— 开启响应式设计新纪元
梅亭策Serena
推荐使用:ContainerQueriesProlyfill——开启响应式设计新纪元cq-prolyfillProlyfillforCSSContainerQueries项目地址:https://gitcode.com/gh_mirrors/cq/cq-prolyfill在前端开发的浩瀚宇宙中,响应式设计早已成为不可或缺的一部分。然而,传统媒体查询虽强大,却始终受限于视口宽度。为突破这一限制,我们
- 推荐项目:SchemaGlue —— 解锁GraphQL架构新维度
井队湛Heath
推荐项目:SchemaGlue——解锁GraphQL架构新维度schemaglueNaturallybreaksdownyourmonolithicgraphqlschemaintobitsandpiecesandthengluethembacktogether.项目地址:https://gitcode.com/gh_mirrors/sc/schemaglue在现代的Web开发中,随着数据需求的日
- 【无标题】获取网页文本
李元豪
数据库
--coding:utf-8--author=‘李元豪fromhttps://www.zhilu.space’--coding:utf-8--author=‘李元豪fromhttps://www.zhilu.space’fromDrissionPageimportChromiumfromlxmlimportetree连接浏览器并获取一个MixTab对象tab=Chromium().latest_t
- 常用字符与ASCII代码对照表
childish_tree
c语言笔记学习算法
常用字符与ASCII代码对照表温馨提示:使用电脑端阅读,获取更好体验【来源】ASCII码-基本ASCII码和扩展ASCII码,最全的ASCII码对照表ASCII码简介:1、ASCII码是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC646。在这个页面,你可以找到8位的256个字符、ASCII码表和Windows-1252(codepage1252,它是国际标准ISO8859-1的一个扩
- Adobe软件的5个冷门使用技巧
明 庭
adobe
在现代设计和创意工作中,Adobe系列软件是不可或缺的工具。值得注意的是,拥有Edu教育邮箱的用户可以免费使用这些软件,这极大地降低了学习和创作的门槛。相比之下,使用破解版软件不仅存在法律风险,还可能带来各种安全隐患,因此建议大家选择合法途径获取软件。如果你想获取Edu邮箱,可以参考一些在线资源,在本文的末尾我会给出参考,了解如何申请和使用这些邮箱,以便顺利享受Adobe软件的相关优惠。五个冷门的
- 普通算法——一维差分
ZZTC
算法算法
一维差分题目链接:https://www.acwing.com/problem/content/799/题目描述:输入一个长度为nnn的整数序列。接下来输入mmm个操作,每个操作包含三个整数l,r,c,l,r,c,l,r,c,表示将序列中[l,r][l,r][l,r]之间的每个数加上ccc。请你输出进行完所有操作后的序列。说明:差分是前缀和的逆运算,也就是构造一个bbb数组使aaa数组是bbb数组
- Docker 官方开发文档 中文
圣心
dockerswift容器
文章来源:https://docker.cadn.net.cndocker中文文档启动项目要开始使用,请将项目作为ZIP文件克隆或下载到本地计算机。克隆项目后,导航到克隆创建的新目录:拥有项目后,使用DockerCompose启动开发环境。要使用CLI启动项目,请运行以下命令:您将看到一个输出,其中显示正在拉取容器镜像、容器正在启动等。如果您此时不完全理解,请不要担心。但是,在一两分钟内,事情应该
- PyTorch 官方文档 中文版本
圣心
pytorch机器学习
文档来源https://pytorch.cadn.net.cn大多数机器学习工作流都涉及处理数据、创建模型、优化模型参数,并保存经过训练的模型。本教程向您介绍完整的ML工作流在PyTorch中实现,并提供了用于了解有关每个概念的更多信息的链接。我们将使用FashionMNIST数据集来训练一个神经网络,该神经网络预测输入图像是否属于到以下类别之一:T恤/上衣、裤子、套头衫、连衣裙、外套、凉鞋、衬衫
- ASP.NET Core 中使用依赖注入 (DI) 容器获取并执行自定义服务
哦里 哦里哦里给
c#asp.net后端c#开发语言
目录一、ASP.NETCore中使用依赖注入(DI)容器获取并执行自定义服务1.app.Services2.GetRequiredService()3.Init()二、应用场景三、依赖注入使用拓展1、使用场景2、使用步骤1.定义服务接口和实现类2.注册服务到依赖注入容器3.使用依赖注入获取并执行服务例子1:在控制器中使用DI获取服务(控制器依赖注入)例子2:在中间件中使用DI获取服务(中间件依赖注
- 如何自己设计一个类似Dubbo的RPC框架
小熊123~
dubbodubborpcjava
上来你的服务就得去注册中心注册吧,你是不是得有个注册中心,保留各个服务的信息,可以用zookeeper来做,对吧。然后你的消费者需要去注册中心拿对应的服务信息吧,对吧,而且每个服务可能会存在于多台机器上。接着你就该发起一次请求了,咋发起?当然是基于动态代理了,你面向接口获取到一个动态代理,这个动态代理就是接口在本地的一个代理,然后这个代理会找到服务对应的机器地址。然后找哪个机器发送请求?那肯定得有
- 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独立出来,数据持