- vue3导出 excel、word
满楼、
excelwordjavascript
importaxiosfrom'axios'import{http}from'@/plugins/axios'import{useMessage}from'naive-ui'constmessage=useMessage()constinstance=axios.create({responseType:'arraybuffer',onDownloadProgress:function(Progr
- Qt Creator 11.0创建ROS2 Humble工程
余加木
ROS2Qtqt开发语言
QtCreator11.0创建ROS2Humble项目工程安装ROSProjectManager插件创建ROS2项目在src下添加packagegitcloneROS2功能包编译运行安装ROSProjectManager插件安装ROSProjectManager的主要流程参考官方的流程,地址(ros_qtc_plugin)。此处采用二进制安装:sudoaptinstalllibarchive-to
- 【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)添加文件内容
- SpringCloud系列(45)--SpringCloud Bus简介
Ken_1115
springcloudspringcloud
1、什么是SpringCloudBusSpringCloudBus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能,SpringCloudBus目前支持RabbitMQ和Kafka。SpringCloudBus配合SpringCloudConfig使用可以实现配置的动态刷新。2、SpringCloudBus能做什么SpringCloudBus
- 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插件,没想到网上查找
- 同步复位、异步复位和异步复位同步释放
nananaij
fpga开发单片机嵌入式硬件
复位的基本目的是使器件进入到可以稳定工作的确定状态,避免器件在上电后进入随机状态。同步复位同步复位就是在是在时钟上升沿到来时,复位信号有效。下面是一个简单的同步复位的D触发器,代码如下:moduleSync_rst(inputclk,inputrst,//Synchronousresetinput[7:0]d,outputreg[7:0]q);always@(posedgeclk)beginif(
- langchain+langserver+langfuse整合streamlit构建基础智能体中心
Messi^
人工智能-大模型应用langchain人工智能
ServerApi******#!/usr/bin/python--coding:UTF-8--importuvicornfromfastapiimportFastAPIfrombaseimportFaissEnginefromlangserve.serverimportadd_routesfromlangchain_core.promptsimportPromptTemplatefromlang
- golang实现从request请求返回的response中提取网站图标的faviconMMH3, faviconMD5, faviconPath, faviconData, faviconURL
golang实现从request请求返回的response中提取网站图标的faviconMMH3,faviconMD5,faviconPath,faviconData,faviconURL,其中faviconData类型为[]byte,其余为string类型。在Go中提取网站的favicon(网站图标)并计算其MMH3和MD5哈希值,同时获取路径、原始数据和URL,可以通过以下步骤实现:packa
- Nginx反向代理、使用OneinStack配置Nginx、多网站配置、多域名配置
2401_86637663
nginx运维
cdoneinstacksudoshvhost.sh如果出现以下异常:vhost.sh:23:pushd:notfoundvhost.sh:40:./include/check_os.sh:[[:notfoundvhost.sh:40:./include/check_os.sh:vhost.sh:40:./include/check_os.sh:^RedHat$:notfound^Rocky:no
- 产品背景知识——API、SDK、Library、Framework、Protocol
爱吃芝麻汤圆
#产品背景知识apisdk产品背景知识
产品背景知识——API、SDK、Library、Framework、ProtocolAPI和SDKAPI(ApplicationProgrammingInterface,应用程序编程接口)和SDK(SoftwareDevelopmentKit,软件开发工具包)是软件开发中的两个核心概念,它们既有区别又有紧密联系。以下是详细解释:1.API与SDK的区别特性APISDK定义一组预定义的规则和协议,用
- Golang Channel 详细原理和使用技巧
1.简介Channel(一般简写为chan)管道提供了一种机制:它在两个并发执行的协程之间进行同步,并通过传递与该管道元素类型相符的值来进行通信,它是Golang在语言层面提供的goroutine间的通信方式.通过Channel在不同的goroutine中交换数据,在goroutine之间发送和接收消息,并且可以通过Channel实现Go依赖的CSP的并发模型这种同步模式chan可以理解为一个管道
- Y-Combinator推导的Golang描述
武昌库里写JAVA
面试题汇总与解析springbootvue.js宠物管理课程设计java
缘起在做计算的本质指称语义的时候,遇到了需要在Python匿名递归调用。Python的lambda表达式本身不支持,需要借助Y-Combinator技术实现。于是研究了下Y-Combinator。中文世界了很多Blog介绍和推导Y-Combinator的文章。然而大部分的文章都省略了推导的关键步骤和推导的依据。仿佛读者都默认已经懂得Y-Combinator了。最后我在Youtube上找到了Ruby
- .wgt 是一种用于打包 Web 应用的标准格式,主要应用于 W3C Widgets 规范中。它是一种轻量级的打包方式,特别适用于移动设备和嵌入式系统中的小型 Web 应用程序
爱的叹息
开发运维架构前端
.wgt是一种用于打包Web应用的标准格式,主要应用于W3CWidgets规范中。它是一种轻量级的打包方式,特别适用于移动设备和嵌入式系统中的小型Web应用程序。一、什么是.wgt包?.wgt是一个压缩包(本质是ZIP格式),包含运行一个Widget所需的所有资源文件。它遵循W3C的WidgetsPackagingandConfiguration规范。可以被支持的平台(如某些手机操作系统、车载系统
- Java web开发常见中间件多版本下载备用
却诚Salong
安装问题和解决方法java中间件开发语言
备注:每次换电脑都要重新构建一下环境,下载找资源很麻烦,官网英文网页找个历史版本看不懂,还要慢慢去搜,所以直接整理一波,需要的自行收藏。1.nodejs自选版本下载:地址:https://nodejs.org/download/release/网速快,自选任何版本下载。2.maven自选版本下载:地址:https://archive.apache.org/dist/maven/maven-3/网速
- uniapp+vue写小程序页面,实现一张图片默认放大后,可以在容器内上下左右拖动查看
1.组件chargingimageViewerimport{ref,onMounted,computed}from'vue';constprops=defineProps({imageUrl:{type:String,required:true,},});//视图容器尺寸constVIEW_WIDTH=750;//微信小程序设计稿宽度constVIEW_HEIGHT=1800;//缩放限制cons
- tauri v2 开源项目学习(二)
前言:tauri2编程,前端部分和electron差不多,框架部分差别大,资料少,官网乱,AI又骗我所以在gitee上,寻找tauriv2开源项目,通过记录框架部分与rust部分的写法,对照确定编程方式tarui2插件,可以查看:https://github.com/tauri-apps/plugins-workspace1.EcoPastehttps://gitee.com/ayangweb/E
- 《UE5_C++多人TPS完整教程》学习笔记40 ——《P41 装备(武器)姿势(Equipped Pose)》
SHOTJEE
#ue5游戏c++
本文为B站系列教学视频《UE5_C++多人TPS完整教程》——《P41装备(武器)姿势(EquippedPose)》的学习笔记,该系列教学视频为计算机工程师、程序员、游戏开发者、作家(Engineer,Programmer,GameDeveloper,Author)StephenUlibarri发布在Udemy上的课程《UnrealEngine5C++MultiplayerShooter》的中文字
- Java SQLException: 解决“Got error 28 from storage engine”的5个步骤
墨瑾轩
一起学学Java【一】javaadb开发语言
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣引言在使用Java进行数据库操作时,有时会遇到java.sql.SQLException:Goterror28fromstorageengine错误。这个错误通常发生在尝试插入数据到MySQL数据库时,表示存储引擎返回了一个错误码28,这通常意味着磁盘空间不足
- Golang基础笔记八之函数
后端go函数闭包
本文首发于公众号:Hunter后端原文链接:Golang基础笔记八之函数本篇笔记介绍Golang里函数相关的内容,以下是本篇笔记目录:函数的定义语法函数返回值可变参数函数匿名函数闭包1、函数的定义语法函数的定义格式如下:func函数名(参数列表)(返回值列表){函数体}比如下面是一个两数相加返回其和的函数:funcadd(a,bint)int{ returna+b}调用的话,直接传参调用即可:s
- SpringBoot返回文件让前端下载的几种方式
一朵梨花压海棠go
springboot前端后端
01背景在后端开发中,通常会有文件下载的需求,常用的解决方案有两种:不通过后端应用,直接使用nginx直接转发文件地址下载(适用于一些公开的文件,因为这里不需要授权)通过后端进行下载,同时进行一些业务处理本篇主要以方法2进行介绍,方法2的原理步骤如下:读取文件,得到文件的字节流将字节流写入到响应输出流中02一次性读取到内存,通过响应输出流输出到前端@GetMapping("/file/downlo
- WSL快速在Ubuntu或者Debian安装golang、python、deno、nodejs、java前后端全栈一体化开发环境配置
怪我冷i
云原生ubuntudebiangolangAI写作AI编程
安装golang#移除旧版本(如有)sudoaptremove--autoremove-ygolang#下载最新版(替换为官网最新版本号)wgethttps://go.dev/dl/go1.24.4.linux-amd64.tar.gz#解压到/usr/localsudorm-rf/usr/local/gosudotar-C/usr/local-xzfgo1.24.4.linux-amd64.ta
- 「Go框架」gin框架是如何处理panic的?
-睡到自然醒~
golanggin开发语言后端springbootjava
本文我们介绍下recover在gin框架中的应用。首先,在golang中,如果在子协程中遇到了panic,那么主协程也会被终止。如下:packagemainimport("github.com/gin-gonic/gin")funcmain(){r:=gin.Default()//在子协程中引起panic,主协程也会退出gofunc(){panic("helloworld")}()//Listen
- PHP后台代码解决跨域问题
Happiness&Rich
php跨域
在前端里面,解决跨域的时候总显得那么的恶心,什么jsonp啊,ajax啊,CORS啊什么的,总觉得是在钻空子进行跨域,其实在PHP文件里面只需要加一段代码就可以跨域了,前端你该怎么写还是怎么写,post,get随便用:header("Access-Control-Allow-Origin:*");header('Access-Control-Allow-Methods:POST');header(
- sa-token:我将代替你,Spring Security
m0_63486540
javaspringjava后端
Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权等一系列权限相关问题。Sa-Token旨在以简单、优雅的方式完成系统的权限认证部分,以登录认证为例,你只需要://会话登录,参数填登录人的账号idStpUtil.login(10001);无需实现任何接口,无需创建任何配置文件,只需要这一句静态代码的调
- QT中翻译文件生成步骤
小小码农Come on
Qtqt
1、配置工具环境变量设置path:D:\Qt\Qt5.15\5.15.2\msvc2019_64\binD:\Qt\Qt5.15\5.15.2\msvc2019\bin主要使用工具:lupdate、linguist、lrelease都在如上路径的bin目录下2、提取翻译字符串(lupdate)用来生成/更新.ts翻译文件进入目录D:\Code\ds-cmifinaldetect\plugins\p
- Prompt Engineering 指南教程
班磊闯Andrea
PromptEngineering指南教程Prompt-Engineering-Guidedair-ai/Prompt-Engineering-Guide:是一个用于指导对话人工智能开发的文档。适合用于学习对话人工智能开发和自然语言处理。特点是提供了详细的指南和参考资料,涵盖了多种对话人工智能技术和算法,并且可以自定义学习路径和行为。项目地址:https://gitcode.com/gh_mirr
- 使用 TCollector 写入 TDengine
TDengine (老段)
TDengine生态接入tdengine大数据时序数据库运维涛思数据物联网数据库
TCollector是openTSDB的一部分,它用来采集客户端日志发送给数据库。只需要将TCollector的配置修改指向运行taosAdapter的服务器域名(或IP地址)和相应端口即可将TCollector采集的数据存在到TDengine中,可以充分利用TDengine对时序数据的高效存储查询性能和集群处理能力。前置条件要将TCollector数据写入TDengine需要以下几方面的准备工作
- Kubernetes Pod常见的几种调度方式
Seal^_^
【云原生】容器化与编排技术持续集成#Kuberneteskubernetes容器云原生K8sPodPod的几种调度方式面试
KubernetesPod常见的几种调度方式1、Deployment或ReplicationController(RC)2、NodeSelector(定向调度)3、NodeAffinity(亲和性调度)4、Taints和Tolerations(污点和容忍)TheBegin点点关注,收藏不迷路1、Deployment或ReplicationController(RC)功能:自动部署容器应用的多份副本
- JAI Core 1.1.3:Java 高级图像处理的利器
顾润治
JAICore1.1.3:Java高级图像处理的利器javax.mediajai_core1.1.3如何下载项目地址:https://gitcode.com/Resource-Bundle-Collection/bda8b项目介绍JAICore1.1.3是JavaAdvancedImaging(JAI)库的核心组件,专为处理多媒体数据,特别是图像处理操作而设计。由SunMicrosystems(现
- (25.07)解决——ubuntu20.04系统开机黑屏,左上角光标闪烁
kikikidult
报错记录ubuntu笔记
前面一些碎碎念:电脑装的双系统,之前都还好着,今天突然ubuntu开机的时候黑屏了,左上角有光标在闪烁,也查了一些资料,基本上大家的都是驱动有问题,还有内存问题。(个人建议:谨慎删除驱动或重装之类的操作,防止因操作不当导致一系列的麻烦)看了一些教程,说下我的调试之路吧。。。在黑屏,光标闪烁的那一页,ctrl+shift+f1,然后出现login,输入用户名和密码,下面就会出现和终端一样的界面,我尝
- 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独立出来,数据持