- YII2配置SQLSERVER
大智001
php5.3以后,没有对sqlserver的支持的动态链接文件了,要php支持sqlserver。记住下面两个链接:https://github.com/Microsoft/msphpsql1.根据要求下载SRV32.EXE文件。(Php5.5以上的可以安装SQL)https://www.microsoft.com/en-us/download/details.aspx?id=20098将其安装到
- Yii2 连接SqlServer(windows)
aaa阿阿qiu~~
php环境windowssqlserverphp
最开始的问题:连接mysql没问题,连接sqlserver一直不行,但是在客户端可以连接,说明肯定程序或者是扩展哪里没弄对,就一直报couldnotfinddriver这个错误1、php扩展,可以使用phpinfo()来查看是否成功加载了pdo_sqlsrv模块,没问题扩展下载链接地址:https://docs.microsoft.com/zh-cn/sql/connect/php/release
- 全平台QQ聊天数据库解密项目常见问题解决方案
管旭韶
全平台QQ聊天数据库解密项目常见问题解决方案qq-win-db-keyQQNT/WindowsQQ聊天数据库解密项目地址:https://gitcode.com/gh_mirrors/qq/qq-win-db-key项目基础介绍本项目是一个开源项目,旨在为用户提供全平台QQ聊天数据库的解密方法。项目主要使用Python、JavaScript和C++等编程语言实现。新手常见问题及解决步骤问题一:如何
- Qt Creator 11.0创建ROS2 Humble工程
余加木
ROS2Qtqt开发语言
QtCreator11.0创建ROS2Humble项目工程安装ROSProjectManager插件创建ROS2项目在src下添加packagegitcloneROS2功能包编译运行安装ROSProjectManager插件安装ROSProjectManager的主要流程参考官方的流程,地址(ros_qtc_plugin)。此处采用二进制安装:sudoaptinstalllibarchive-to
- 傻瓜式安装QT+ROS2+Ubuntu22环境(可直接在pro中使用)
牛顶顶大王
Rosqt开发语言性能优化
结果展示QT版本的订阅者实例/官网的发布者实例1.安装qt我使用的版本5.14.2下载地址现在qt下载无法访问了,需要0.0下载qt-opensource-linux-x64-5.14.2.run直接运行其他环境的安装sudoaptinstallgccsudoaptinstallg++sudoaptinstallclangsudoaptinstallclang++sudoaptinstallmak
- 【ROS2】在QtCreator中打开ROS工作目录
艺高机器人编程
ROSROS2
【ROS】郭老二博文之:ROS目录1、准备1)在QtCreator中安装ROS插件(ros_qtc_plugin)2)在QtCreator中创建ROS2工程2、打开ROS2工作目录1)创建工程文件在ROS2工作目录(和src同级目录)中,创建工程文件,名为xxx.workspace,例如:laoer.workspace.2)添加文件内容
- 用鸿蒙打造真正的跨设备数据库:从零实现分布式存储
网罗开发
HarmonyOS实战源码实战harmonyos数据库分布式
网罗开发(小红书、快手、视频号同名) 大家好,我是展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、HarmonyOS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。图书作者:《ESP32-C3物联网工程开发实战》图书作者:《SwiftUI入门,进阶与实战》超级个体:CO
- Ubuntu22+ROS2+QtCreator+Ros_Qtc_Plugin开发环境搭建
ZPC8210
ROSpythongithubgit
Ubuntu22+ROS2+QtCreator+Ros_Qtc_Plugin开发环境搭建1.写在前面最近重装了ubuntu22.04,被告知ubuntu22已经不支持ROS1了,想着ROS2毕竟是大势所趋,所以安装了ROS2准备进行相应的学习开发。折腾了两天,没发现一款好用的、适合ROS2开发的IDE。之前开发ROS1程序时一直用的QTC,我本以为QTC应该还没有对应的ROS2插件,没想到网上查找
- Docker容器中安装 ROS2-Humble 并使用 rviz
ZPC8210
docker容器运维
默认电脑已经安装了docker,没安装看这篇文章Docker安装(完整详细版)ROS和docker各种结合看官方文档dockerTutorials在OSRF中拉取想要的ROS版本docker镜像网址为拉取命令在这里dockerpullosrf/ros:humble-desktop-full拉取完后创建容器,但是为了能在docker中能打开窗口,将使用以下参数,只需要修改名字即可,your_name
- Python Day58
别勉.
python机器学习python信息可视化数据分析
Task:1.时序建模的流程2.时序任务经典单变量数据集3.ARIMA(p,d,q)模型实战4.SARIMA摘要图的理解5.处理不平稳的2种差分a.n阶差分—处理趋势b.季节性差分—处理季节性建立一个ARIMA模型,通常遵循以下步骤:数据可视化:观察原始时间序列图,判断是否存在趋势或季节性。平稳性检验:对原始序列进行ADF检验。如果p值>0.05,说明序列非平稳,需要进行差分。确定差分次数d:进行
- Python Day56
别勉.
python机器学习python开发语言
Task:1.假设检验基础知识a.原假设与备择假设b.P值、统计量、显著水平、置信区间2.白噪声a.白噪声的定义b.自相关性检验:ACF检验和Ljung-Box检验c.偏自相关性检验:PACF检验3.平稳性a.平稳性的定义b.单位根检验4.季节性检验a.ACF检验b.序列分解:趋势+季节性+残差记忆口诀:p越小,落在置信区间外,越拒绝原假设。1.假设检验基础知识a.原假设与备择假设原假设(Null
- Python Day57
别勉.
python机器学习python开发语言
Task:1.序列数据的处理:a.处理非平稳性:n阶差分b.处理季节性:季节性差分c.自回归性无需处理2.模型的选择a.AR§自回归模型:当前值受到过去p个值的影响b.MA(q)移动平均模型:当前值收到短期冲击的影响,且冲击影响随时间衰减c.ARMA(p,q)自回归滑动平均模型:同时存在自回归和冲击影响时间序列分析:ARIMA/SARIMA模型构建流程时间序列分析的核心目标是理解序列的过去行为,并
- Python Day44
别勉.
python机器学习python开发语言
Task:1.预训练的概念2.常见的分类预训练模型3.图像预训练模型的发展史4.预训练的策略5.预训练代码实战:resnet181.预训练的概念预训练(Pre-training)是指在大规模数据集上,先训练模型以学习通用的特征表示,然后将其用于特定任务的微调。这种方法可以显著提高模型在目标任务上的性能,减少训练时间和所需数据量。核心思想:在大规模、通用的数据(如ImageNet)上训练模型,学习丰
- Python Day42
别勉.
python机器学习python开发语言
Task:Grad-CAM与Hook函数1.回调函数2.lambda函数3.hook函数的模块钩子和张量钩子4.Grad-CAM的示例1.回调函数定义:回调函数是作为参数传入到其他函数中的函数,在特定事件发生时被调用。特点:便于扩展和自定义程序行为。常用于训练过程中的监控、日志记录、模型保存等场景。示例:defcallback_function():print("Epochcompleted!")
- Python-什么是集合
難釋懷
python开发语言数据库
一、前言在Python中,除了我们常用的列表(list)、元组(tuple)和字典(dict),还有一种非常实用的数据结构——集合(set)。集合是一种无序且不重复的元素集合,常用于去重、交并差运算等场景。本文将带你全面了解Python中集合的基本用法、操作方法及其适用场景,并通过大量代码示例帮助你掌握这一重要数据类型。二、什么是集合(set)?✅定义:集合是Python中的一种可变数据类型,它存
- Python Day53
别勉.
python机器学习python开发语言
Task:1.对抗生成网络的思想:关注损失从何而来2.生成器、判别器3.nn.sequential容器:适合于按顺序运算的情况,简化前向传播写法4.leakyReLU介绍:避免relu的神经元失活现象1.对抗生成网络的思想:关注损失从何而来这是理解GANs的关键!传统的神经网络训练中,我们通常会直接定义一个损失函数(如均方误差MSE、交叉熵CE),然后通过反向传播来优化这个损失。这个损失的“来源”
- 〖Python零基础入门篇⑮〗- Python中的字典
哈哥撩编程
#①-零基础入门篇Python全栈白宝书python开发语言后端python中的字典
>【易编橙·终身成长社群,相遇已是上上签!】-点击跳转~<作者:哈哥撩编程(视频号同名)图书作者:程序员职场效能宝典博客专家:全国博客之星第四名超级个体:COC上海社区主理人特约讲师:谷歌亚马逊分享嘉宾科技博主:极星会首批签约作者文章目录⭐️什么是字典?⭐️字典的结构与创建方法⭐️字典支持的数据类型⭐️在列表与元组中如何定义字典
- python换行输出字典_Python基础入门:字符串和字典
weixin_39959236
python换行输出字典
10、字符串常用转义字符转义字符描述\\反斜杠符号\'单引号\"双引号\n换行\t横向制表符(TAB)\r回车三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符para_str="""这是一个多行字符串的实例多行字符串可以使用制表符TAB(\t)。也可以使用换行符[\n]。"""print(para_str)#这是一个多行字符串的实例#多行字符串可以使用制表符#TAB()。
- Python----Python中的集合及其常用方法
redrose2100
Pythonpython开发语言后端
【原文链接】1集合的定义和特点(1)集合是用花括号括起来的,集合的特点是元素没有顺序,元素具有唯一性,不能重复>>>a={1,2,3,4}>>>type(a)>>>a={1,2,3,1,2,3}>>>a{1,2,3}2集合的常用运算(1)集合元素没有顺序,所以不能像列表和元组那样用下标取值>>>a={1,2,3}>>>a[0]Traceback(mostrecentcalllast):File""
- langchain+langserver+langfuse整合streamlit构建基础智能体中心
Messi^
人工智能-大模型应用langchain人工智能
ServerApi******#!/usr/bin/python--coding:UTF-8--importuvicornfromfastapiimportFastAPIfrombaseimportFaissEnginefromlangserve.serverimportadd_routesfromlangchain_core.promptsimportPromptTemplatefromlang
- pycharm两种运行py之路径问题
hellopbc
software#pycharmpythonpycahrmpath
文章目录pycharm两种运行py之路径问题pycharm两种运行py之路径问题运行python代码在pycharm中有两种方式:一种是直接鼠标点击runxxx运行,还有一种是使用#In[]:点击该行左边的绿色三角形按钮运行有可能在pythonconsole窗口运行有可能在你当前运行文件的窗口(就是run之后产生的那个窗口)**问题:**你会发现,涉及到路径问题时(使用相对路径),可能在这两种运行
- Python元组的遍历
難釋懷
python前端linux
一、前言在Python中,元组(tuple)是一种非常基础且常用的数据结构,它与列表类似,都是有序的序列,但不同的是,元组是不可变的(immutable),一旦创建就不能修改。虽然元组不能被修改,但它支持高效的遍历操作,非常适合用于存储不会变化的数据集合。本文将系统性地介绍Python中元组的多种遍历方式,包括基本遍历、索引访问、元素解包、结合函数等,并结合大量代码示例帮助你掌握这一重要技能。二、
- Python集合生成式
一、前言在Python中,我们已经熟悉了列表生成式(ListComprehension),它为我们提供了一种简洁高效的方式来创建列表。而除了列表之外,Python还支持一种类似的语法结构来创建集合——集合生成式(SetComprehension)。集合生成式不仅可以帮助我们快速构造一个无序且不重复的集合,还能有效提升代码的可读性和执行效率。本文将带你全面了解:✅什么是集合生成式✅集合生成式的语法结
- Python开发从新手到专家:第三章 列表、元组和集合
caifox菜狐狸
Python开发从新手到专家python元素集合列表元组数据结构字典
在Python开发的旅程中,数据结构是每一位开发者必须掌握的核心知识。它们是构建程序的基石,决定了代码的效率、可读性和可维护性。本章将深入探讨Python中的三种基本数据结构:列表、元组和集合。这三种数据结构在实际开发中有着广泛的应用,从简单的数据存储到复杂的算法实现,它们都扮演着不可或缺的角色。无论你是刚刚接触Python的新手,还是希望进一步提升编程技能的开发者,本章都将是你的宝贵指南。我们将
- python入门之字典
二十四桥_
python入门python
文章目录一、字典定义二、字典插入三、字典删除四、字典修改五、字典查找六、字典遍历七、字典拆包一、字典定义#{}键值对各个键值对之间用逗号隔开#1.有数据的字典dict1={'name':'zmz','age':20,'gender':'boy'}print(dict1)#2.创建空字典dict2={}print(dict2)dict3=dict()print(dict3)二、字典插入dict1={
- python类的定义与使用
菜鸟驿站2020
python
class01.py代码如下classTicket():#类的名称首字母大写#在类里定义的变量称为属性,第一个属性必须是selfdef__init__(self,checi,fstation,tstation,fdate,ftime,ttime,notes):self.checi=checiself.fstation=fstationself.tstation=tstationself.fdate
- Python爬虫设置代理IP
菜鸟驿站2020
python
配置代理ipfrombs4importBeautifulSoupimportrequestsimportrandom#从ip代理网站获取ip列表defget_ip_list(url,headers):web_data=requests.get(url,headers=headers)soup=BeautifulSoup(web_data.text,'lxml')ips=soup.find_all(
- Tensorflow 回归模型 FLASK + DOCKER 部署 至 Ubuntu 虚拟机
准备工作:安装虚拟机,安装ubuntu,安装python3.x、pip和对应版本的tensorflow和其他库文件,安装docker。注意事项:1.windows系统运行的模型文件不能直接运行到虚拟机上,需在虚拟机上重新运行并生成模型文件2.虚拟机网络状态改为桥接Flask代码如下:fromflaskimportFlask,request,jsonifyimportpickleimportnump
- 10个可以快速用Python进行数据分析的小技巧_python 通径分析
2401_86043917
python数据分析开发语言
df.iplot()df.iplot()vsdf.plot()右侧的可视
- 【Python多线程】
晟翰逸闻
Pythonpython
文章目录前言一、Python等待event.set二、pythonracecondition和lock使用使用锁(Lock)三.pythonDeadLock使用等综合运用总结前言这篇技术文章讨论了多线程编程中的几个重要概念。它首先介绍了等待事件的使用,并强调了避免使用“ForLoop&Sleep”进行等待的重要性。接着,文档解释了竞态条件,并提供了处理共享资源的建议,即在使用共享资源时进行加锁和解
- 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独立出来,数据持