- 用vue写一个内网请求chatgpt的网页可以返回图片请求【内含一个key】
steamedbread321
vue.jschatgptjavascript
最近不是chatgpt很活吗?可是必须要科技上网才可以进入,所以我就参考其他人写的页面改写了一个网页版不需要chatgpt请求的网页,还可以请求图片哦。部署以后就可以直接使用废话不多说了直接上代码海洋生物详情{{x.msg}}{{x.msg}}{{sentext}}{{sentexttp}}const{createApp}=VuecreateApp({data(){return{api:'',ms
- 大数据毕业设计hadoop+spark+hive豆瓣图书数据分析可视化大屏 豆瓣图书爬虫 图书推荐系统
qq_79856539
javawebjava大数据hadoop课程设计
系统总体目标基于Spark的个性化书籍推荐系统是一种基于大数据技术的智能推荐系统,它可以根据用户的历史行为和偏好,为用户提供个性化的书籍推荐。该系统采用Spark技术,可以实现大数据的实时处理,从而提高推荐系统的准确性和可靠性。此外,该系统还可以根据用户的习惯和偏好,提供更加个性化的书籍推荐,从而满足用户的需求。系统的使用者包含普通用户和管理员两类,普通用户是系统的主要服务对象,主流人群是经常查看
- Apache Flink流处理框架
weixin_44594317
apacheflink大数据
ApacheFlink是一个分布式流处理框架和数据处理引擎,专注于以低延迟和高吞吐量处理无界和有界的数据流。它可以同时处理流式数据和批处理数据,并且提供强大的容错机制和状态管理功能。Flink常用于实时分析、复杂事件处理(CEP)、机器学习和批量数据处理等场景。1.Flink的核心概念在理解Flink的工作原理之前,先要了解它的一些核心概念:流处理(StreamProcessing):处理数据流中
- 企业数字化规划蓝图、企业数字化运营分析管理大数据平台建设方案
公众号:优享智库
数字化转型数据治理主数据数据仓库大数据
**企业数字化规划蓝图及运营分析管理大数据平台建设方案****一、企业数字化规划蓝图**1.**数字化目标设定**企业在规划数字化进程时,首先需要明确数字化目标。这些目标应当与企业的整体战略和发展规划相一致,包括但不限于提高运营效率、优化客户体验、创新业务模式等。同时,目标应具体、可衡量,以便于后续的实施和评估。2.**技术平台规划**技术平台是支撑企业数字化的基础。在规划阶段,需要确定所需的技术
- 使用Flink进行流式图处理
AI天才研究院
大数据AI人工智能AI大模型企业级应用开发实战计算计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
使用Flink进行流式图处理1.背景介绍1.1大数据时代的到来随着互联网、物联网和移动互联网的快速发展,数据呈现出爆炸式增长。根据IDC的预测,到2025年,全球数据量将达到175ZB。传统的批处理系统已经无法满足对实时数据处理的需求。因此,流式计算应运而生,成为大数据处理的重要组成部分。1.2流式计算的概念流式计算是一种新兴的数据处理范式,它能够持续不断地处理来自各种数据源的数据流。与传统的批处
- Android Jetpack系列(一) Room
游逸丶
AndroidJetpackAndroidjetpackRoomAndroidAAC
AndroidJetpack系列(一)Room前言Room简介Room使用1引用2编写Entity实体类2编写Dao数据操作类3编写Database数据库操作类4调用示例前言Jetpack是2017年谷歌在开发者大会上发布的一套开发工具。Jetpack共包含4个部分:Architecture、Foundation、Behavior以及UI。其中的Architecture又称为AAC(Android
- Flink流式计算入门
@Rocky
Flinkflink大数据
什么是流式计算流式计算是一种实时处理和分析大规模数据流的计算方法,其核心思想是将数据视为连续流动的序列,而不是静态存储的数据。与传统的批处理计算不同,流式计算能够在数据生成的同时进行处理,提供及时的结果。核心概念数据流:流式计算中的基本单位,表示一系列动态生成的数据。数据流可以来自传感器、网络请求、用户行为等多种来源。计算流:在数据流上进行的各种计算操作,如过滤、聚合和转换等。这些操作实时进行,并
- Android---Room(三)
无所事事的程序员
Android
当表的结构发生变化时处理方法:下面方法共同点就是版本号+1最简单的方法就是在数据库创建时,执行破坏式的迁移.fallbackToDestructiveMigration()//破坏式迁移INSTANCE=Room.databaseBuilder(context.getApplicationContext(),WordDatabase.class,"worddatabase").fallbackTo
- Android Room 使用
francisHuang
android学习androidRoom数据库
官网介绍:https://developer.android.google.cn/training/data-storage/roomRoom是在SQLite上提供了一个抽象层,以便在充分利用SQLite的强大功能的同时,能够流畅地访问数据库。Room包含3个重要部分:数据库:包含数据库持有者,并作为应用已保留的持久关系型数据的底层连接的主要接入点。Entity:表示数据库中的表。DAO:包含用于
- python与excel整合全教程
刘同学Python学习日记
pythonexcel开发语言
Python与Excel的整合非常强大,尤其适合处理大数据、自动化表格操作以及进行高级数据分析。以下是一个全教程,涵盖常用的Python库及其应用:1.准备工作安装必要的库:使用以下命令安装常用库:pipinstallopenpyxlpandasxlrdxlsxwriterpywin32openpyxl:用于操作Excel的.xlsx文件(推荐)。pandas:强大的数据分析工具,支持读取和写入E
- Vue 响应式渲染 - 模板语法
JSON_L
前端#Vuevue.js前端javascript
Vue渐进式JavaScript框架基于Vue2的学习笔记-Vue响应式渲染-模板语法目录模板语法渲染变量(状态)绑定事件简写事件修改属性样式修改绑定图片路径动态显示和隐藏总结模板语法渲染变量(状态)在页面中直接渲染变量。示例如下:Title{{myname}}newVue({el:"#box",//elementdata:{myname:'我的名字是张三'}})绑定事件增加按钮,并对按钮绑定点击
- [Android]service命令的使用
aaajj
Androidandroid
在前面的讨论中,我们说到,如果在客户端懒得使用aidl文件生成的接口类进行binder,可以使用IBinder的transcat方法ParceldataParcel=Parcel.obtain();ParcelresultParcel=Parcel.obtain();dataParcel.writeInterfaceToken(DESCRIPTOR);//发起请求aProxyBinder.tran
- 对链表进行快速排序
liujjjiyun
算法数据结构链表链表数据结构
对链表进行快速排序定义链表结构体typedefintElemType;typedefstructListNode{ElemTypedata;ListNode*next;}ListNode,*LinkList;对链表的初始化尾插法ListNode*Init_List(constvector&br){ListNode*head=(ListNode*)malloc(sizeof(ListNode));h
- 【使用Apache Flink 实现滑动窗口流式计算】
我明天再来学Web渗透
后端技术总结apacheflinklinq开发语言
什么是Flink?ApacheFlink是一个用于分布式流式处理和批处理的开源实时计算引擎。它具备低延迟、高吞吐量和exactly-once语义的特点,适用于各种实时数据处理场景。Flink的核心概念作业(Job):Flink程序的执行单元。数据流(DataStream):表示连续的数据流,可以进行转换和计算。窗口(Window):用于对无限数据流进行有界的数据切片处理。状态(State):用于保
- Python 数据分析 - 初识 Pandas
一名技术极客
#Python进阶爬虫python数据分析pandas
Python数据分析-初识Pandas简介SeriesDataFrame创建基本操作添加删除简介Pandas基于NumPy开发,它提供了快速、灵活、明确的数据结构,旨在简单、直观地处理数据。Pandas适用于处理以下类型的数据:有序和无序的时间序列数据带行列标签的矩阵数据,包括同构或异构型数据与SQL或Excel表类似的,含异构列的表格数据任意其它形式的观测、统计数据集,数据转入Pandas数据结
- pycharm、anaconda安装tensorflow问题
努力的南波万
pycharmtensorflowneo4j
(pythonconda01)C:\Users\lvd13>condainstalltensorflowChannels:-defaultsPlatform:win-64Collectingpackagemetadata(repodata.json):doneSolvingenvironment:|warninglibmambaAddedemptydependencyforproblemtypeS
- springboot中DTO、VO、Entity相互转换
会说法语的猪
后端springbootjavaspringboot后端java
在我们平时开发中,dto、vo、entity之间的相互转换是很频繁的操作,这篇就简单记录一下我在平时开发中转换的方法。在这之前先简单描述一下dto、vo、entityDTO:一般我们在开发中会定义数据传输对象(DataTransferObject,DTO)来接收前端传递的参数是最常见的。VO:平时开发中,一般会定义VO(viewobject)来封装返回给前端的数据Entity:在我们开发中,Ent
- 日常Bug-uni.navigateBack返回带参数
打豆豆升级
日常Bug
此类需求大致意思:从A页面进入B页面,B页面返回并传值给A页面我使用的这种方法是:B页面返回前改变A页面中data的值,不需要A页面做操作,要是想要在A页面做操作的话,可以监听A页面值的改变H5中使用//B页面返回letpages=getCurrentPages();letprevPage=pages[pages.length-2]//-1是当前页面-2则是上一页面prevPage.$data.g
- 深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据
我的青春不太冷
服务器前端运维
深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据一、服务器如何响应前端请求前端与后端的交互主要通过HTTP协议实现。以下是详细步骤:1.前端发起HTTP请求GET请求:用于从服务器获取数据。POST请求:用于向服务器提交数据。例如,使用JavaScript的fetchAPI发送POST请求:fetch('https://example.com/api/data',{method:'PO
- 408数据结构_单链表的存储(带头结点)
释放:
数据结构算法
准备工作#includeusingnamespacestd;typedefintElemType;typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;初始化boolInitList(LinkList&L){L=(LNode*)malloc(sizeof(LNode));L->next=NULL;returntrue;}
- 如何写一份合格的大数据简历(附简历模板)教程
itLeeyw573
老板必点的高分简历sqliteoraclemysqlsqlzookeeperkafkabigdata
一、简历的重要性简历是求职者给招聘者的第一印象,一份合格的简历能够快速让招聘者了解你的基本信息、工作经历、技能特长等,从而决定是否给予你面试机会。它是开启理想工作大门的钥匙,所以一定要重视起来。【编辑/下载】:大数据开发简历范文二、简历结构基本信息:包含姓名、性别、联系方式(电话、邮箱)、求职意向。姓名要突出显示,联系方式务必准确无误,求职意向明确且具体,比如“Java开发工程师”,让招聘者一眼就
- HDFS读写流程(全面深入理解)
AnAn-66.
hadoophdfs面试hadoop
1、HDFS写流程 (1)客户端通过对FileSystem.create()对象创建建文件,DistributedFileSystem会创建输出流FSDataOutputStream。 (2)DistributedFileSystem通过RPC远程调用名称节点,在文件系统的命名空间中创建一个新的文件,此时该文件中还没有相应的数据块。 (3)名称节会执行一些检查,比如文件是否已经存在、客户端是
- HDFS的读写流程
熊與猫v
大数据hadoopbigdata
一,HDFS的读写流程1.hdfs的写入流程文上传流程如下:创建文件:①HDFSclient向HDFS写入数据,先调用DistributedFileSystem.create()②RPC调用namenode的create(),会在HDFS目录树中指定的路径,添加新文件;并将操作记录在edits.log中namenode.create()方法执行完后,返回一个FSDataOutputStream,它
- HDFS的读写流程步骤(附图文解析)
m0_67265464
面试学习路线阿里巴巴hdfshadoop大数据面试intellij-idea
1、HDFS的写入流程:详细步骤:client发起文件上传请求,通过RPC与NameNode建立通讯,NameNode检查目标文件是否已存在,父目录是否存在,返回是否可以上传;client请求第一个block该传输到哪些DataNode服务器上;NameNode根据配置文件中指定的备份数量及副本放置策略进行文件分配,返回可用的DataNode的地址,如:A,B,C;client请求3台DataNo
- HDFS安全模式
哒啵Q297
hdfshadoop大数据
当hdfs集群启动的时候,由于要做很多的事情,这期间集群进入了安全模式离开安全模式的条件:NameNode启动后会进入一个称为安全模式的特殊状态。处于安全模式的NameNode对于客户端来说是只读的。NameNode从所有的DataNode接收心跳信号和块状态报告(blockreport)每个数据块都有一个指定的最小副本数(dfs.replication.min),当NameNode检测确认某个数
- 使用vue-pdf 给pdf加水印
从此苏州|更江南
vue.jsjavascript前端
上一页下一页{{pageNum}}/{{totalPages}}importpdffrom'vue-pdf'exportdefault{name:"SHOWRESULTS",components:{pdf},data(){return{pageNum:1,//显示第一页loadedRatio:0,//当前页面的加载进度,范围是0-1,等于1的时候代表当前页已经完全加载完成了totalPages:1
- 使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测。
Jam-Young
scikit-learnpython信息可视化
使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测。#导入鸢尾花数据集fromsklearn.datasetsimportload_iris,fetch_20newsgroups#数据化可视包importseabornassnsimportmatplotlib.pyplotaspltimportpandasaspdfromsklearn.model_selectio
- React应用深度优化与调试实战指南
python算法(魔法师版)
javascript开发语言ecmascriptreact.js前端
一、渲染性能优化进阶1.1精细化渲染控制typescript复制//components/HeavyComponent.tsximportReact,{memo,useMemo}from'react';interfaceItem{id:string;complexData:{//复杂嵌套结构};}constHeavyComponent=memo(({items}:{items:Item[]})=>
- Verilog系统函数实现单精度float、双精度doble浮点类型和整型之间互相转换
whik1194
XilinxFPGAZYNQverilogsystemverilog
标准verilog支持双精度double类型和十六进制64位数据相互转换,使用$realtobits和$bitstoreal系统函数使用示例://test_tb.v`timescale1ns/1psmoduletest_tb;realdata_real;reg[63:0]data_hex;initialbegindata_real=0;data_hex=0;data_real=1234.56789
- mysql.sock.lock的作用_不能创建 mysql.sock.lock是怎么回事
0110君
15052003:26:57mysqld_safeStartingmysqlddaemonwithdatabasesfrom/usr/local/mysql/data2015-05-20T03:26:58.070269Z0[Warning]TIMESTAMPwithimplicitDEFAULTvalueisdeprecated.Pleaseuse--explicit_defaults_for_t
- 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独立出来,数据持