- 使用Mybatis-Plus进行单表操作
讴歌oge
Java后端mybatisjava数据库
使用updateById()修改数据时,值为null的属性不会被修改。intupdateById(@Param("et")Tentity);测试代码:@SpringBootTestpublicclassSpringBootMybatisPlusTest{@AutowiredprivateUserMapperuserMapper;@Testpublicvoidtest(){Useruser=newU
- 一条SQL引发的革命:金仓KES V9 2025如何用“融合”颠覆数据库格局
Loving_enjoy
计算机学科论文创新点机器学习facebook课程设计经验分享
>一条SQL,既能查交易记录,又能搜相似图片,还能分析JSON文档——国产数据库正在用“全栈融合”重新定义数据价值“迁移成本太高了!”某银行技术总监看着眼前的Oracle集群摇头叹息。为了部署新的AI风控系统,团队需要在关系数据库、文档数据库和向量数据库之间搭建数据管道——**不仅架构复杂度飙升,维护成本更是翻了三倍**。直到他们遇见了金仓KESV92025。2025年7月15日,中电科金仓发布新
- Foldseek快速蛋白质结构比对
1.下载和安装Foldseek如果只是单个蛋白质结构的序列比对,我们只需要用Foldseek的网站服务https://search.foldseek.com/search上传我们的蛋白质结构并选择想要进行比对的数据库即可,这里不做重点讲解。做生物信息学研究,我们难免需要批量对多个目标蛋白进行大规模结构比对,这需要我们下载安装本地版软件。Foldseek有Linux和MacOS二个版本的本地软件(这
- lanqiaoOJ:19871 单调栈
张辰宇-
算法数据结构
【题目描述】给定一个长度为N的序列a。第一行输出每个数字其左边第一个比其大的数字,不存在则输出-1。第二行输出每个数字其右边第一个比其大的数字,不存在则输出-1。第三行输出每个数字其左边第一个比其小的数字,不存在则输出-1。第四行输出每个数字其右边第一个比其小的数字,不存在则输出-1。update:本题数据于2025-01-13加强至2×10^5,以杜绝暴力通过。【输入格式】第一行输入一个正整数N
- 2021-11-24
席芙蓉
part1一。从本单元学到的理念精读:1.Keepintouchwithfriendstomaintainfriendship2.Neverforgetoldfriends.视听说:Howtodescribepeople'sappearanceandactivities.二。怦然心动的单词精读:1.tale(n)故事(v)talk2.grant(v)agree(n)拨款3.intimate=clo
- Ubuntu 安装 Gitlab
Kesling
服务部署ubuntugitlablinux
Ubuntu安装Gitlab安装依赖打开终端,运行如下命令:sudoaptupdatesudoaptupgradesudoaptinstallcurlopenssh-serverca-certificatespostfix安装GitLab前往GitLab官网,需要根据服务器系统,搜索需要安装的版本号。根据官网提示下载源文件,执行如命令curl-shttps://packages.gitlab.co
- ubuntu部署gitlab-ce及数据迁移
SilentCodeY
java开发语言gitlabubuntu
ubuntu部署gitlab-ce及数据迁移进行前梳理:在esxi7.0Update3基础上使用ubuntu22.04.5-server系统对gitlab-ce16.10进行部署,以及将gitlab-ee16.9数据进行迁移到gitlab-ce16.10进行后总结:起初安装了极狐17.8.3-jh版本(不支持全局中文,就没用了)又安装了gitlab-ce16.10.10,(和旧服务器版本不一致,备
- 说一说加油
ccpjsg
今天要说的加油,不是汽车加油。而是我们看比赛时欢呼呐喊的加油。以前英语老师总说我们是中式英语,有的表达是中式的句式。howoldareyou?是问你多大了,你多少岁?但是有的学生却说成是怎么老是你?当然是玩笑话,但是我们也知道这是不正规的,只能平时开玩笑用。但是这一境况正在改变。今天就看了一条微博,加油的中式表达,addoil,被牛津词典收录。这就意味着addoil可以光明正大的出现在任何地方。本
- Python脚本压缩图片大小,不损害图片质量
凉风听雪
Pythonpython开发语言
Python源码:同步绑定有exe文件,可下载直接使用importosfromPILimportImagedefcompress_images(input_folder,quality):#确定输出文件夹路径为输入路径同级的"out"output_folder=os.path.join(os.path.dirname(input_folder),"out")#确保输出文件夹存在ifnotos.pa
- python连接数据库的方法,Python 连接数据库的多种方法
AI MIU
python连接数据库的方法
JZGKCHINAPython是一种计算机程序设计语言,它是一种动态的、面向对象的脚本语言。它是一种跨平台的,可以运行在Windows,Mac和Linux/Unix系统上。在日常使用中需要对大量数据进行数据分析,那么就必然用到数据库,我们常用的数据库有SQLServer,MySQL,Oracle,DB2,SQLite,Hive,PostgreSQL,MongoDB还有其他常用的MicrosoftA
- Oracle19c 主备adg OPatch补丁升级
oracle19c主备adgOPatch补丁升级1,使用OPatch升级和打补丁2,查看当前OPatch版本3,OPatch包安装4,打补丁4.1,上传已经下载的补丁文件4.2,备库停止日志传输(主库不用执行)4.3,关闭备库和监听4.4,打补丁前检查当前补丁和冲突4.5,根据补丁文件中的readme.html,查看主备架构可以打哪些补丁。4.6,打两个补丁4.7,检查补丁最新版本5,启动主库打补
- 零基础入门数据库,万字超详细Sql server期末复习
Heyqings
sql
前言本篇主要讲述的是关系型数据库SqlServer,原因也很简单,因为大部分学校还在以sqlserver为教学材料,不过没关系无论是sqlserver、mysql还是oracle,只要是关系型数据库,概念都是相通的,语句也大差不差。关系型数据库是一种采用关系模型来组织数据的数据库系统。它将数据存储在表格形式的结构中,通常称为表。这些表由行和列组成,每一行代表一条记录,每一列代表一个字段。关系型数据
- 【Oracle】Oracle 11g打补丁时遇到opatch apply命令无法识别
瑞琪姐
大数据模块oracle数据库
⚙️1.使用完整路径执行命令问题原因:若未将$ORACLE_HOME/OPatch加入系统PATH环境变量,直接输入opatchapply会因系统无法定位命令而报错。解决方案:改用绝对路径执行:$ORACLE_HOME/OPatch/opatchapply例如:/u01/app/oracle/product/11.2.0/db_1/OPatch/opatchapply注:此方法在Windows/L
- MybatisPlus-13.扩展功能-DB静态工具
天上掉下来个程小白
微服务数据库mybatisplus微服务springbootjava
一.DB静态工具我们来看mp提供的第二个扩展功能——DB静态工具。首先我们来看Db类中都提供了哪些静态方法。其中save方法用来新增,update方法用来更新,remove用来删除,list用来查询(批量),count用来计数,get用来查询(ById:根据id查询,One:查一个),page分页查询,lambdaQuery查询,lambdaUpdate更新。由于这些都是静态方法,这就导致在方法的
- 基于Docker构建Python后端项目落地总结
Docker使用总结基于Dockerfile的镜像构建示例dockerfile解析#加载centos7的最小镜像源FROMcentos:7RUNyumcleanallRUNyum-yupdate#修改时区RUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime&&echo"Asia/Shanghai">/etc/timezone#安装中文支持R
- 1948. 删除系统中的重复文件夹
追逐此刻
力扣pythonlinux开发语言
1948.删除系统中的重复文件夹-力扣(LeetCode)classTrieNode:__slots__='son','name','deleted'def__init__(self):self.son={}self.name=''self.deleted=FalseclassSolution:defdeleteDuplicateFolder(self,paths:List[List[str]])
- Java实习模拟面试之创玖科技:前后端交互、数据库、Spring全家桶、性能优化与Linux实战
培风图南以星河揽胜
java面试java面试科技
关键词:JavaScript、JQuery、Ajax、Node.js、MySQL、Oracle、Spring、SpringMVC、SpringBoot、MyBatis、Tomcat、Redis、Nginx、Linux、Git、SAAS系统开发一、面试开场:自我介绍面试官提问:请做个自我介绍,重点突出你的技术栈和项目经验。候选人回答:您好,我是一名计算机科学与技术专业的应届生,具备扎实的Java基础
- Flutter:Text Widget 文本组件的使用
风一样的code
Flutter学习咒语:"Flutter一切皆组件!"新语言第一个程序当然是'Helloworld'看一下最基础的HelloWold代码import'package:flutter/material.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContext
- 【Linux操作系统】安装VS Code
LN花开富贵
Linuxlinux单片机物联网嵌入式硬件学习
更新系统包列表sudoaptupdate安装依赖项sudoaptinstallsoftware-properties-commonapt-transport-httpswget添加微软GPG密钥和仓库源wget-qhttps://packages.microsoft.com/keys/microsoft.asc-O-|sudoapt-keyadd-sudoadd-apt-repository"de
- ORACLE物化视图materialized view
Caster_Z
oracle
物化视图会占用空间,一半可用于大量数据查询时,减缓主表的查询压力使用。例如创建一个物化视图,让对接单位查询。ONDEMAND:仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;ONCOMMIT:一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。1,创建creatematerializedviewmv_nam
- OracleERP云软件二次开发:业务流程管理与自定义教程
kkchenjj
工业软件二次开发全集工业软件ERP数据库开发语言
OracleERP云软件二次开发:业务流程管理与自定义教程OracleERP云平台概览OracleERP云平台架构OracleERPCloud采用了一种多层架构设计,旨在提供高度可扩展、安全且灵活的云解决方案。其架构主要分为以下几个层次:用户界面层:提供直观的用户界面,支持多种设备访问,包括桌面、平板和手机。这一层利用了现代Web技术,如HTML5、CSS3和JavaScript,确保了良好的用户
- oracle存储过程日志打印,如何在oracle存储过程中逐行打印
昂图
oracle存储过程日志打印
我正在执行一个存储过程,但它在某个时候失败了,当前错误代码不帮我找到错误的位置和确切位置我想知道它正在失败,所以想要在执行时逐行输出。例如:如何在oracle存储过程中逐行打印createorreplace--decaringrequiredvariablePROCEDURE"PROC_DATA_TABLE_DETAILS"ISFORTABLEDETAILSIN(SELECT*FROMuser_t
- 华为MetaERP实施 业务访谈结果分析和总结的模板或案例参考
anpeng2025
Oracle华为MetaERPOracleERP华为metaerp数据库oracleerp华为MetaERPerp实施erp案例
华为MetaERP实施业务访谈结果分析和总结的模板或案例参考在MetaERP实施中,业务访谈结果的分析和总结需要结合系统特性(如国产化适配、与Oracle的差异)和企业实际业务需求。以下是经过行业实践验证的模板框架和案例参考,帮助Oracle顾问快速落地:一、业务访谈结果分析模板框架1.《业务需求清单模板》(Excel/Notion)需求编号所属模块需求描述需求类型(功能/痛点/特殊场景)优先级(
- Oracle ERP MetaERP采购PO 后台表
anpeng2025
华为MetaERPSAP专题OracleERPoracleOracleERP数据库sap算法
OracleERPMetaERP采购PO后台表TABLE-PO.EDW_PO_VENDOR_HIERARCHIESTABLE-PO.FND_FUNCTION_PARAMETER_MAPTABLE-PO.FND_NOTIFICATIONSTABLE-PO.POA_BIS_SAVINGSTABLE-PO.POA_BIS_SAVINGS_EFCTABLE-PO.POA_BIS_SAVINGS_RPTTA
- 在MetaERP实施过程中 Oracle ERP顾问参与哪些业务访谈能提升业务流程能力?
anpeng2025
OracleOracleERP华为MetaERPoracle数据库oracleerpmetaerp华为MetaERP
在MetaERP实施过程中OracleERP顾问参与哪些业务访谈能提升业务流程能力?在MetaERP实施过程中,业务访谈是OracleERP顾问突破“系统功能惯性”、深入理解业务本质的核心途径。通过精准选择访谈对象和聚焦关键内容,顾问能快速掌握企业实际业务流程的逻辑、痛点与需求,进而将Oracle的经验转化为适配MetaERP的业务流程能力。以下是需要重点参与的几类业务访谈及价值分析:一、高层/业
- JDK 17 下载
yzpyzp
java开发语言
Oracle官网JDK下载:https://www.oracle.com/java/technologies/javase-downloads.html百度网盘下载:https://pan.baidu.com/s/1qxU-4ZfMyhlr5kbQ6RNHJg?pwd=aa53参考:https://blog.csdn.net/2503_91826368/article/details/147898
- Oracle分区表插入数据库时间时报ORA-14400
Indestructible
使用springdatajpa插入数据时,需要表中的createtime保存为数据库时间,而不是应用服务器时间,实现这个功能只需要在实体类上面加@DynamicInsert就可以了。代码如下:@Entity@Table(name="ENTITY")@DynamicInsertpublicclassEntity{@Column(nullable=false)privateDatecreatetime
- NocoBase 本周更新汇总:优化及缺陷修复
NocoBase
版本更新开源低代码无代码零代码版本更新
原文链接:https://www.nocobase.com/cn/blog/weekly-updates-20250718。汇总一周产品更新日志,最新发布可以前往我们的博客查看。NocoBase目前更新包括的版本更新包括三个分支:main,next和develop。main:截止目前最稳定的版本,推荐安装此版本。next:包含即将发布的新功能,经过初步测试的版本,可能存在部分已知或未知问题。主要面
- 对于nginx 操作工具 iftop 、ifstatus 、vegeta 的简单实践
HL00001
brewupdate&&brewinstallvegeta#写target.txt文件内容如下:GEThttps://www.baidu.com#测试vegetaattack-targets="test.log"-rate=100-duration=30s>res.bin#分析请求时间catres.bin|vegetareport-type="hist[0,100ms,200ms,300ms]"#
- 华为服务器2258X V5裸机安装Ubuntu及配置
ghsshou
ubuntu服务器华为
2258XV5基本信息配置信息:型号2288XV5BIOS版本:8.02/ReleaseDate:04/14/2021处理器型号:Intel®Xeon®
[email protected]版本:6.27RAID控制卡型号:AdaptecSmartRAID3152-8i准备申请固定IP将服务器管理口、远程登录口连接交换机下载镜像:检查一下兼容性:https://support-it.hu
- 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独立出来,数据持