- 拥抱Linux Mint,安装迅雷和微信
zhqh100
linux运维服务器
迅雷的下载地址http://archive.kylinos.cn/kylin/partner/pool/com.xunlei.download_1.0.0.1_amd64.debLinuxMint自带的Transmission今天下载速度还可以,几兆的速度,挺满意的微信的下载地址https://linux.weixin.qq.com/搜狗拼音输入法虽然有官网,但官网最后说是支持Ubuntu20.0
- 使用datax进行mysql的表恢复
是桃萌萌鸭~
mysql数据库
DataXDataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括MySQL、SQLServer、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS等各种异构数据源之间高效的数据同步功能。FeaturesDataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上Dat
- spark写入hive表问题
qq_42265026
sparkhive大数据
1、httpclient发送post请求,当返回的数据过大时,报错socketclosed这个原因是客户端主动将连接关闭,根本原因是将httpclient。execute的返回结果closeableResponse作为a方法的返回结果,在b方法中进行解析虽然在b方法中没有关闭closeableResponse,但是在a方法中返回closeableResponse后,会进行httppost.real
- spark解析压缩包数据,写入到hive表中
dbbigdata
spark大数据hive
spark解析xxxxx.tar.gz形式的压缩包。压缩包里面是一个个的json文件或者zip的文件,zip里面是json文件。先用spark读取tar.gz的路径,然后开流传给newTarArchiveInputStream(newGZIPInputStream(file))去处理,大概的代码如下defmain(args:Array[String]):Unit={valroot:String=a
- phpexcel 读取数据
http://extjs.org.cn/fatjames/archives/379require_once'/home/PHPExcel_1.8.0/PHPExcel/IOFactory.php';$reader=PHPExcel_IOFactory::createReader('Excel2007');//设置以Excel5格式(Excel97-2003工作簿)$PHPExcel=$reader
- 三七互娱GO面经及参考答案
大模型大数据攻城狮
golangepollB树原理幻读go面试go面经mysql性能
MySQL有哪些存储引擎?MyISAM如何存储数字类型数据?MySQL拥有多种存储引擎,每种都有其独特的特性和适用场景。常见的存储引擎包括InnoDB、MyISAM、Memory、CSV、Archive、Federated等。InnoDB是MySQL5.5版本之后的默认存储引擎,它支持事务、外键、行级锁和崩溃恢复功能,适合处理高并发事务型应用。MyISAM是早期MySQL的默认存储引擎,不支持事务
- 统信UOS(Linux)安装nvm node管理工具
高高i
linux运维服务器UOS统信nvm安装
整篇看完再操作,有坑!!官网nvm官网按照官网方式安装,一直报错经过不断研究,正确步骤如下1、下载安装包可能因为网络安全不能访问github,我是链接热点下载的wgethttps://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz2、解压可能报mkdir无权限,所以需要使用sudo执行解压命令,可能报找不到文件【v0.39.1.tar.
- cydia软件路径_在Cydia中提取Deb格式安装包文件
大家都知道越狱后可以安装deb格式的文件包了,并且我们经常看到一些大神在论坛分享一些deb格式的文件或插件,他们是如何提取出来的呢?本文就给大家介绍一下在Cydia中提取Deb格式安装包文件教程。Cydia下载的deb文件在哪,怎么提取出来?cydia下载的deb在/private/var/cache/apt/archives目录下,提取方式:1、用cydia安装软件后,系统提示“重新启动设备”或
- Spark教程3:SparkSQL最全介绍
Cachel wood
大数据开发spark大数据分布式计算机网络AHP需求分析
文章目录SparkSQL最全介绍一、SparkSQL概述二、SparkSession:入口点三、DataFrame基础操作四、SQL查询五、SparkSQL函数六、与Hive集成七、数据源操作八、DataFrame与RDD互转九、高级特性十、性能优化十一、Catalyst优化器十二、SparkSQL应用场景十三、常见问题与解决方法SparkSQL最全介绍一、SparkSQL概述SparkSQL是A
- 打造个性化HiveSQL格式化插件:Hql_formatter实战
大思兄的视界
本文还有配套的精品资源,点击获取简介:在软件开发中,代码格式化对于保持代码整洁和提升可读性至关重要。对于HiveSQL,一种用于大数据处理的查询语言,格式化工具可以显著提高开发效率。本项目名为Hql_formatter,是一个为SublimeText定制的HiveSQL格式化插件,通过改良现有的Python库sqlbutifier和sqlparse,实现了满足特定HiveSQL格式化需求的功能。开
- 编译gcc踩坑记录——libtool: error: ‘/usr/local/lib/libgmp.la‘ is not a valid libtool archive
feige4242
linux运维服务器
安装gcc依赖过程中出现错误,解决方法在google找到的。三个依赖如下:libgmplibmpfr依赖libgmplibmpc依赖libgmp、libmpfr直接就无脑(网上很多教程,这里就不赘述了)./configure--prefix=/home/xx/make&&makeinstall然后在libmpc时候就报错了:libtool:error:'/usr/local/lib/libgmp.
- libtool: error: ‘/usr/.local/lib/libgmp.la‘ is not a valid libtool archive
WSSWWWSSW
服务器linux运维
背景:安装gcc时提示需要vc++11,然后安装gcc依赖gmp、mpfr、mpc。到mpcmake时出错:libtool:error:‘/usr/.local/lib/libgmp.la’isnotavalidlibtoolarchive详细:/usr/bin/grep:/usr/.local/lib/libgmp.la:Nosuchfileordirectory/usr/bin/sed:can
- 新版azkaban4.0编译安装教程
码农界的老油条
azkaban4.0java
新版azkaban4.0编译安装教程由于官方没有提供安装包所以需要下载源码,按照本文安装可以完美运行解压wgethttps://github.com/azkaban/azkaban/archive/refs/tags/4.0.0.tar.gztar-zxvf4.0.0.tar.gz-C/opt/software/cdazkaban-4.0.0没有安装git的话需要先安装https://gradle
- Harmony中的HAP、HAR、HSP区别
云杰zd
harmonyos动画华为
HarmonyOS中的HAP、HAR、HSP区别详解1.基本概念HAP(HarmonyAbilityPackage)定义:应用安装和运行的基本单元特点:包含代码、资源、第三方库及配置文件支持声明Ability和Page分为Entry(主模块)和Feature(特性模块)两种类型HAR(HarmonyArchive)定义:静态共享包特点:编译态复用不支持声明Ability和Page适用于二三方库共享
- CDH部署Hive详细指南
暴躁哥
大数据技术hivehadoop数据仓库
CDH部署Hive详细指南本文将详细介绍如何使用ClouderaManagerWeb界面部署Hive组件,包括安装、配置、优化和运维管理等内容。1.环境准备1.1系统要求1.1.1硬件要求服务器配置CPU:建议8核以上内存:建议32GB以上磁盘:建议使用企业级SAS或SSD网络:建议万兆网络集群规模小型集群:3-5节点中型集群:6-20节点大型集群:20节点以上1.1.2软件要求操作系统CentO
- 通过CDH安装Spark的详细指南
暴躁哥
大数据技术spark大数据分布式
通过CDH安装Spark的详细指南简介ClouderaDistributionofHadoop(CDH)是一个企业级的大数据平台,它集成了多个开源组件,包括Hadoop、Spark、Hive等。本文将详细介绍如何通过CDH安装和配置Spark。前提条件在开始安装之前,请确保满足以下条件:已安装CDH集群具有管理员权限所有节点之间网络互通系统时间同步足够的磁盘空间(建议至少预留20GB)安装步骤1.
- torch-gpu版本 anaconda配置教程
GXYGGYXG
python
教程Pytorch的GPU版本安装,在安装anaconda的前提下安装pytorch_pytorch-gpu-CSDN博客版本对应PyTorch中torch、torchvision、torchaudio、torchtext版本对应关系_torch2.0.1对应的torchvision-CSDN博客cuda下载地址CUDAToolkitArchive|NVIDIADevelopercudacudnn
- 保护你的Electron应用:深度解析asar文件与Virbox Protector的安全策略
深盾科技
electronjavascript前端
在现代软件开发中,Electron框架因其跨平台特性而备受开发者青睐。然而,随着Electron应用的普及,如何保护应用中的核心资源文件——asar文件,成为了开发者必须面对的问题。今天,我们将深入探讨asar文件的特性,并重点介绍一款强大的保护工具——VirboxProtector。asar文件:Electron应用的“心脏”asar(AtomShellArchive)文件是Electron应用
- order、sort、distribute和cluster by(Spark/Hive)
有数的编程笔记
Spark/Hivesparkhive大数据
1.abstractORDERBY:完整查询结果的全局行排序。与SORTBY、CLUSTERBY、DISTRIBUTEBY互斥,不能同时使用。示例SELECT*FROMtable_nameORDERBYcolumn_name;SORTBY:只在每个分区内排序,局部排序结果不是全局有序。与ORDERBY、CLUSTERBY互斥,不能同时指定。示例SELECT*FROMtable_nameSORTBY
- 合并小文件汇总(Hive/Spark)
有数的编程笔记
Spark/Hivehivesparkhadoop
合并小文件的原因:过多的小文件会导致HDFS上元数据负载增加。并且小文件也会导致计算性能下降。1.使用hive时1.1.使用hive.merge参数,开启文件合并--控制在map阶段结束后合并输出的小文件,默认值为trueSEThive.merge.mapfiles=true;--控制在reduce阶段结束后合并输出小文件,默认值为falseSEThive.merge.mapredfiles=tr
- Centos7.9安装Openssl 3.5
石小千
Linux运维linux
下载github下载地址https://github.com/openssl/openssl/releases/download/openssl-3.5.0/openssl-3.5.0.tar.gz国内镜像站下载地址https://raw.gitcode.com/gh_mirrors/ope/openssl/archive/refs/heads/openssl-3.5.0.zip准备yuminst
- 11、探索Perl模块世界:从创建到应用
异步汪仔
Perl编程入门与实践Perl模块CPAN模块创建
探索Perl模块世界:从创建到应用1.模块的重要性及用途在编程中,模块化设计是提高代码复用性和维护性的关键。Perl模块是将相关功能封装在一起的一组函数和变量,通过模块化,可以大大简化编程任务。使用模块不仅能节省时间,还能避免重复造轮子。通过CPAN(ComprehensivePerlArchiveNetwork),你可以找到几乎所有类型的Perl模块,涵盖从网络编程到数据库管理等多个领域。CPA
- kali安装docker
云宫小铺
dockerlinux运维
1.1、更新kali仓库GPG秘钥curl-fsSLhttps://archive.kali.org/archive-key.asc|sudotee/etc/apt/trusted.gpg.d/kali-archive-key.asc1.2、更新apt包列表sudoaptupdatesudoaptupgrade-y1.3、安装必要的依赖包sudoaptinstallapt-transport-ht
- Anaconda安装与使用,新手避免踩坑
小泥人Hyper
python开发语言
1.安装Anaconda1.1进入官网下载,有多种版本可以选择,挑最适合的即可官网地址:https://repo.anaconda.com/archive/1.2下载好后放入指定文件夹,或者跳转到对应的文件夹,执行下面的命令1.3跳转到该项目后执行bash命令进行安装bashAnaconda3-2024.02-1-Linux-x86_64.sh然后一直回车或者yes即可,直到出现Thankyouf
- 解决HiveOS刷显卡bios时提示小于200K不成功的问题
jemenchen
硬件工程驱动开发机器学习图形渲染
问题来由,当使用HiveOS在线刷显卡bios时候,由于老旧的先考rom文件大小只有128k,故其提示文件太小,有问题,而并不进行处理;问题分析:这个问题应该是HiveOS系统自身做了限定,防止用户刷成砖;问题定位:在HiveOs系统用,有这么一个文件叫做agent.command_advance.sh之类的(记忆的,晚点确认了贴出来),路径在/hive/bin/中;解决方案:vi打开此脚本文件,
- 十、HQL:排序、联合与 CTE 高级查询
IvanCodes
Hive教程hive大数据
作者:IvanCodes日期:2025年5月15日专栏:Hive教程ApacheHive作为大数据领域主流的数据仓库解决方案,其查询语言HQL(HiveQueryLanguage)是数据分析师和工程师日常工作的核心。除了基础的SELECT-FROM-WHERE,HQL还提供了强大的排序、数据合并以及组织复杂查询的机制。本文将深入探讨HQL中的排序操作(SORTBY,ORDERBY,CLUSTERB
- Hadoop等大数据处理框架的Java API
扬子鳄008
Javahadoopjava大数据
Hadoop是一个非常流行的大数据处理框架,主要用于存储和处理大规模数据集。Hadoop主要有两个核心组件:HDFS(HadoopDistributedFileSystem)和MapReduce。此外,还有许多其他组件,如YARN(YetAnotherResourceNegotiator)、HBase、Hive等。下面详细介绍Hadoop及其相关组件的JavaAPI及其使用方法。HadoopHad
- python--将mysql建表语句转换成hive建表语句
呆呆不呆~
sparkpythonmysqlhivespark
1.代码importjsonimportsysimportpymysqldefqueryDataBase(tablename):#连接数据库并查询列信息conn=pymysql.connect(user='root',password='123456',host='hadoop11')cursor=conn.cursor()cursor.execute("SELECTcolumn_name,dat
- ER图:数据库设计的可视化语言 - 搞懂数据关系的基石
大千AI助手
人工智能Python大数据数据库
在数据库设计和数据建模领域,ER图(实体-关系图)绝对是最基础、最核心的可视化工具之一。它用最直观的方式描绘了现实世界中的数据及其关系,是构建可靠数据库的蓝图。今天,我们就来聊聊这个技术基石。本文来自「大千AI助手」技术实战系列,专注用真话讲技术,拒绝过度包装。往期文章推荐:20.决策树:被低估的规则引擎,80%可解释性需求的首选方案19.实战指南:用DataHub管理Hive元数据18.一键规范
- 手把手教你玩转 Sqoop:从数据库到大数据的「数据搬运工」
AAA建材批发王师傅
数据库sqoop大数据hivehdfs
一、Sqoop是什么?——数据界的「超级搬运工」兄弟们,今天咱们聊个大数据圈的「搬运小能手」——Sqoop!可能有人会问:这玩意儿跟Flume啥区别?简单来说:Flume是专门搬日志数据的「快递员」而Sqoop是搬数据库数据的「搬家公司」它的名字咋来的?SQL+Hadoop,直接告诉你核心技能:在关系型数据库(比如MySQL)和Hadoop家族(HDFS、Hive、HBase)之间疯狂倒腾数据!核
- 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独立出来,数据持