- 【爬虫】05 - 爬虫攻防
是小崔啊
#爬虫学习爬虫
爬虫05-爬虫攻防文章目录爬虫05-爬虫攻防一:随机User-Agent爬虫1:fake-useragent2:高级反反爬策略3:生产环境建议二:代理IP爬虫1:获取代理IP2:高阶攻防3:企业级的代理实战三:动态数据的抓取1:动态页面技术全景2:动态页面逆向工程2.1:XHR请求追踪与解析2.2:websocket实时数据捕获3:无头浏览器控制技术3.1:Playwright详解3.2:反反爬虫
- WebSocket断链排查与重连实战:7种实时检测与自动恢复技巧
Clownseven
websocket网络协议网络
更多云服务器知识,尽在hsotol.com前一秒用户还在聊着天,后一秒界面突然“连接已断开,请重试”,你赶忙看日志,发现服务并没崩,CPU正常、内存平稳,也没报错。可用户就是断了,而且还不是一个两个。这种时候你才想起来:这货不是HTTP,是WebSocket。它不是请求-响应那种你来我往,它像一根细长的管子,连上之后就一直开着,谁主动断谁才结束。可问题是——它,突然就没了。WebSocket长连接
- 用SQL语句查看Oracle数据表的结构信息
bboy枫亭
Oracleoracle
文章目录获取所有表的列表查看表结构查看某表的注释查看某表的字段注释获取所有表的列表相知道相应用户下有哪些表,可以通过以下SQL语句进行查询selecttable_namefromuser_tables;//当前用户的表selecttable_namefromall_tables;//所有用户的表selecttable_namefromdba_tables;//包括系统表selecttable_na
- 了解B/S架构
Ashman.se
计算机语言架构
一.B/S的概念B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用;客户机上只需要安装一个浏览器,服务器上安装SQLServer,Oracle,MySql等数据库;浏览器通过WebServer同数据库进行数据交互。二
- Oracle修改表结构的基本sql语句
--修改字段名称altertable表名renamecolumn现在的字段名to新字段名;--修改表名altertable表名renameto新表名;--修改字段数据类型altertable表名modify字段名新数据类型(长度);--在表中新增字段altertable表名add新字段名新数据类型(长度)[约束,例如:notnull等]comment'comment是添加字段描述,可加可不加';-
- oracle查询数据结构滤涉及的sql语句
胡斌附体
oraclesql数据结构
背景:去客户数据库查询表数据。了解表结构以及表字段及索引等信息oracle数据库SELECTt.OWNERAS"用户名",t.TABLE_NAMEAS"表名",c.COMMENTSAS"表说明"FROMALL_TABLEStLEFTJOINALL_TAB_COMMENTScONt.OWNER=c.OWNERANDt.TABLE_NAME=c.TABLE_NAMEANDc.TABLE_TYPE='T
- vue如何使用websocket
//websocket连接letwebSocketPort=url+'/ws/socket'constdataList=ref([]);//用于展示从WebSocket获取的消息letws=null;//WebSocket实例letreconnectTimeout=null;//重连超时控制//建立WebSocket连接constconnectWebSocket=()=>{ws=newWebSoc
- ubuntu20.04.2上安装wordpress+nginx+php+fpm+mysql
crayon-shin-chan
surprise#wordpressphpnginxphpmysqlwp
1.更新安装源sudoapt-getupdate2.安装nginxsudoaptinstallnginx检查状态servicenginxstatus●nginx.service-AhighperformancewebserverandareverseproxyserverLoaded:loaded(/lib/systemd/system/nginx.service;enabled;vendorpr
- AWS架构师
咸鱼一条_o.0?!
aws云计算
AWS架构师部分定义S3(S3存储桶)EC2弹性计算云EBS弹性块存储SNAPSHOT快照AMI:EC2镜像ELB弹性负载均衡器EFSDATABASEDATAWAREHOUSEOLTPOLAPElastiCacheVPCRoute53部分定义UserGroup:用户组下的用户继承该用户组所有权限Policy:Jasonformat:类似文字描述,指定object的类型。给user和group提供权
- oracle空格的转义字符串,Oracle 单引号 双引号 转义符 分隔符
sleepsoft
oracle空格的转义字符串
概述单引号用来标记字符串双引号用来标记识别对象名以下使用会比较绕:字符串中出现单引号、双引号;表或字段等对象的别名(alias)中出单引号、双引号;单引号、双引号与空格一起使用;双引号双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则示意Oracle将严格区分大小写,否则Oracl都默认大写。[][1]单引号、双引号、字符串、Oracle10g之前,字符串中出现单引号,可以用两个单引号
- Android常用的adb和logcat命令
每次的天空
androidadb
ADBADB,即AndroidDebugBridge是一种允许模拟器或已连接的Android设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对Unixshell(可用来在模拟器或连接的设备上运行各种命令)的访问。adb简单命令//查看版本adbversion//查看已经连接的设备和开始连接设备命令adbdevicesadbconnectadb应用命令//查看所有应用a
- vscode创建Python虚拟环境无法激活问题处理
系统环境win7环境,Python3.7,VScode1.70.3问题报错:PSC:\Users\Administrator\PycharmProjects\websites>.\venv\Scripts\activate无法加载文件C:\Users\Administrator\PycharmProjects\websites\venv\Scripts\Activate.ps1,因为在此系统中禁止
- nodejs关于后端服务开发的探究
墨水白云
node.js
前提在当前的环境中关于webserver的主流开发基本上都是java、php之类的,其中javaspring系列基本上占了大头,而python之流也在奋起直追,但别忘了nodejs也是可以做这个服务的,只是位置有点尴尬,现在就来探究下nodejs做webserver的当前现状。nodejs简介Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用了一个事件驱
- Apache基础配置
obboda
运维apache
一、Apache安装#安装apache[root@webserver~]#yuminstallhttpd-y#在防火墙中放行web服务[root@webserver~]#firewall-cmd--permanent--add-service=httpsuccess[root@webserver~]#firewall-cmd--permanent--add-service=httpssuccess
- 全网最详细LVS(Linux Virtual Server)讲解
钮枯禄赵氏
云原生
一、集群和分布式简介1.1系统性能扩展方式ScaleUP:向上扩展,增强ScaleOut:向外扩展,增加设备,调度分配问题,Cluster1.2集群ClusterCluster:集群是为了解决某个特定问题将堕胎计算机组合起来形成的单个系统Cluster常见的三种类型:*LB:LoadBalancing(负载均衡)由多个主机组成,每个主机只承担一部分访问*HA:HighAvailiablity(高可
- 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
- SpringCloud负载均衡原理
SpringCloud负载均衡原理org.springframework.cloud.loadbalancer.core.RoundRobinLoadBalancerprivateResponsegetInstanceResponse(Listinstances){if(instances.isEmpty()){if(log.isWarnEnabled()){log.warn("Noservers
- Spring Cloud LoadBalancer 详解
大手你不懂
springJavaJava项目实战springcloudspring后端
在分布式系统快速发展的当下,服务间的调用日益频繁且复杂。如何合理分配请求流量,避免单个服务节点过载,保障系统的稳定性与高效性,成为关键问题。负载均衡技术便是解决这一问题的重要手段。SpringCloudLoadBalancer作为SpringCloud官方推出的负载均衡器,在微服务架构中发挥着至关重要的作用。本文将对其进行详细解析。一、SpringCloudLoadBalancer基本概念Spri
- Oracle数据库性能调优完整指南.zip
高杉峻
本文还有配套的精品资源,点击获取简介:Oracle数据库性能优化是企业和数据库专业人员必须掌握的关键技能。Oracle作为广泛使用的数据库管理系统,其性能直接影响业务效率。本文档深入探讨了性能优化的各个方面,包括SQL优化、索引管理、表和分区设计、内存调优、系统资源管理、并发控制、日志和归档策略、性能监控和诊断,以及数据库架构优化和版本升级。通过综合考虑业务场景和硬件环境,结合Oracle提供的工
- 34、Oracle数据库调优全攻略
tequila
精通OracleOracle数据库调优STATSPACK
Oracle数据库调优全攻略1.调优目标与策略调优的目标是让数据库满足业务需求,即解决依赖系统的用户所发现的问题。管理者和终端用户更关心报表能否按时生成以及数据能否快速返回屏幕,而非数据库内部的精妙程度。因此,需要明确他们认为重要的方面,然后进行调优以实现目标。例如,对于OLTP系统性能不佳的情况,应专注于让数据快速返回屏幕,而非修复偶尔出现的批处理作业。调优时要关注能带来最大收益的领域,并知道何
- 39、Oracle 数据库内存管理:SGA 与 PGA 配置指南
apple5
解读OracleOracle数据库SGA配置PGA配置
Oracle数据库内存管理:SGA与PGA配置指南1.手动配置SGA参数如果你想对系统全局区(SGA)的内存分配进行更多控制,可以从完全自动内存管理(AMM)切换到自动共享内存管理(ASMM)。启用ASMM很简单,只需将SGA_TARGET设置为所需的值。即使启用了ASMM,你仍然可以控制由SGA_TARGET控制的SGA组件的最小大小。此外,你还需要手动调整一些初始化参数。1.1理解自动共享内存
- sqlplus连接Oracle 11g 数据库
zone--
sqlplusoracle
sqlplus连接Oracle11g数据库安装如下Oracle11g安装教程//Anhighlightedblocksqlplus有几种登陆方式比如:sqlplus"/assysdba"--以操作系统权限认证的oraclesys管理员登陆sqlplus/nolog--不在cmd或者terminal当中暴露密码的登陆方式conn/assysdbaconnsys/passwordassysdbasql
- Oracle 19C 后台主要进程的功能解析
zone--
数据库oracledba
在Oracle数据库的运行机制中,后台进程是支撑数据库各项功能的“隐形引擎”。这些进程在实例启动时自动创建,负责完成数据读写、故障恢复、资源管理等核心任务。本文基于Oracle19c官方文档,对数据库常见后台进程进行系统梳理,帮助数据库管理员理解进程工作原理,为性能调优和故障诊断提供基础。后台进程的基础特性Oracle后台进程是指在V$PROCESS视图中存在且PNAME列非空的进程,它们独立于用
- Oracle 数据泵导出表部分列的实现方案:从 12c 新特性到低版本兼容
zone--
oracle数据库
在Oracle数据库日常运维中,经常会遇到“只导出表中部分列”的需求——例如某张表包含数十个字段,但业务仅需迁移其中3-5个核心字段的数据。传统的导出工具(如exp或expdp)虽能通过QUERY参数过滤行记录,却无法实现列的筛选。本文基于实践经验,详解不同Oracle版本下导出表部分列的解决方案,包括12c及以上版本的便捷方法和11g及以下版本的兼容方案。12c及以上版本:利用VIEWS_AS_
- Oracle 数据库共享池与大池调优指南
zone--
数据库oracle
在Oracle数据库的内存管理中,共享池(SharedPool)和大池(LargePool)是SGA(系统全局区)中负责缓存与资源分配的核心组件。合理配置和调优这两个池,能显著提升数据库性能——尤其是在减少解析开销、降低锁竞争、优化内存利用率等方面。本文基于Oracle19c官方文档,系统梳理共享池与大池的调优思路、关键配置及实践方法。共享池:核心缓存与解析优化的关键共享池是SGA中用于缓存SQL
- 做悬赏任务赚钱最好软件排行(赚钱最快的app)
趣闲赚手机做任务赚佣金
今天我就给大家总结一下各大赚外快的赚外快。APP防止踩坑的优缺点,顺便总结一下做奖励任务赚钱最好的软件排名,赚钱最快的软件排名app排在前面,供大家参考,总结不好,不够全面也请大家一起补充。趣闲赚上面的任务单价也就是几块钱到几十元一单,做的多挣的多。【趣闲赚】拿着手机做赏金任务,1元提现秒到账,在家躺着也赚钱!点击链接或者扫码下载:https://www.jianshu.com/p/8dbac7a
- 你还在使用存储过程吗?
上周,reddit网r/dotnet区的网友technolang发帖:「你还在使用存储过程吗?」我很好奇为什么2024年了我们还在使用存储过程。难道网络应用中没有一个业务层来处理所有事情吗?依赖DBA并在数据库层创建依赖关系似乎没有必要。另外,存储过程调试起来很麻烦。所以它有什么好处呢?网友xabrol给出了非常用心的回答。他说:我不是说教,只是讲点事实。我从事咨询行业,曾在银行和抵押贷款公司工作
- 【爬虫】某某查cookie逆向
kisloy
逆向爬虫爬虫python
代码仅供技术人员进行学习和研究使用,请勿将其用于非法用途或以任何方式窃取第三方数据。使用该代码产生的所有风险均由用户自行承担,作者不对用户因使用该代码而造成的任何损失或损害承担任何责任。加密参数加密参数主要是cookie,其中只有三个cookie最重要,BAIDUIDBAIDUID_BFESS和一个ab开头的cookiecookie获取BAIDUID和BAIDUID_BFESS在访问百度系的产品时
- Oracle12c版本中未归档隐藏参数
weixin_30248399
数据库runtimejava
Inthispost,IwillgivealistofallundocumentedparametersinOracle12.1.0.1c.Hereisaquerytoseealltheparameters(documentedandundocumented)whichcontainthestringyouenterwhenprompted:–Enternameoftheparameterwhen
- 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独立出来,数据持