- llama-factory 记录
嘟嘟Listing
llama
GitHub-hiyouga/LLaMA-Factory:UnifiedEfficientFine-Tuningof100+LLMs&VLMs(ACL2024)安装gitclonehttps://github.com/hiyouga/LLaMA-Factory.gitcondacreate-nllama_factorypython=3.10condaactivatellama_factorycdL
- Android Studio安装配置
星仔极客
技术记录androidstudioandroidide
查看链接:AndroidStudio安装配置https://www.yuque.com/xinzaigeek/jishu/androidstudio
- Linux开启命令审计功能记录用户的每一步操作
自由鬼
安全运维技术IT应用探讨linux运维服务器
默认情况下,Linux不记录用户的每一步操作到系统级别的日志文件中。但是,Linux确实记录了一些与用户操作相关的信息,并且提供了多种方法来开启更详细的用户操作记录,以满足安全审计或故障排除的需求。一、Linux默认记录的信息:用户登录和退出信息:Linux会记录用户的登录(login)和退出(logout)事件。这些信息通常被记录在/var/log/wtmp和/var/log/btmp文件中。你
- DeepSeek安装部署笔记(二)
山哥ol
笔记运维python
Bat批处理文件的编写第五步启动openWebUI的批处理编写1、下面的代码,复制到文本文件,再改扩展名2、这样,在桌面直接双击此文件运行第五步启动openWebUI的批处理编写1、下面的代码,复制到文本文件,再改扩展名@echooffREM关闭回显使界面更简洁setCONDA_ROOT=D:\condasetENV_NAME=openwebuiREM使用’/K’参数保持CMD窗口不关闭,并执行后
- springboot整合rabbitMQ
twx95
java-rabbitmqspringbootrabbitmq
安装rabbitMQ虚拟机或者服务器上安装我这里使用的是vm虚拟机做演示第一步:安装docker参考linux安装docker-CSDN博客第二步:拉取rabbitMQ镜像3-management(镜像版本)dockerpullrabbitmq:3-management查看镜像是否拉取成功dockerimages第三步:运行rabbitMQdockerrun\-eRABBITMQ_DEFAULT_
- 琴韵博主 —— 工具集
琴 韵
知识库在线文档
CSDN猿如意_开发者工具箱CSDN开发助手ChromeChrome最新版离线下载internetdownloadmanager付费在线转换在线JSON字符串转Java实体类(JavaBean、Entity)在线MD5加密解密YAML、YML在线编辑器(格式化校验)在线图片转换成文字图片base64互转颜色转换颜色转换人民币大小写转换蛙蛙:英文字母大小写转换、文本工具汉字拼音在线转换Google翻
- React:Axios、Fetch-Jsonp获取API接口数据
今天也很棒棒~
Reactreact.jsjavascriptjson
不同模块可登录npm,搜索对应方法有官方文档https://www.npmjs.com/Axios步骤:{/*axios1.npminstallaxios--save安装axios模块2.importaxiosfrom'axios';3.varapi='http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20';//接口后台允许了
- React 基础教程
阿贾克斯的黎明
前端react.js前端前端框架
目录React基础教程一、React简介二、安装和设置三、创建第一个React组件(一)函数式组件(二)类组件四、渲染组件五、组件的属性和状态(一)属性(Props)(二)状态(State)六、组件的生命周期方法七、事件处理八、总结React是一个用于构建用户界面的JavaScript库。它以高效、灵活和可维护性而受到广泛的欢迎。本教程将介绍React的基础知识,帮助你快速上手React开发。一、
- 【python】软件更新:用conda或Poetry
无水先生
AI原理和python实现python指南和应用人工智能综合pythonconda开发语言
一、说明在实现anancoda的软件更新问题,需要明确几个问题:1)是python包吗?2)是C++包吗?更新的方法有别。python包可以pip访问。C++包必须是conda访问。二、更新C++包的循环依赖问题如果在Windows10上的Ananconda3.7上安装和更新软件包。运行代码时:condaupdate--all或者condainstallpandas收到以下错误:RemoveErr
- python将pdf转换成word
勘察加熊人
typescriptpythonpdfword
说明:我计划用python,把pdf文件转换成word文件step1:把python环境安装好,然后把helloworld跑起来step2:安装依赖:首先需要安装必要的Python库,在终端中运行,会开始下载依赖包,等待下载完成C:\Users\Administrator>pip--versionpip25.0.1fromC:\Users\Administrator\AppData\Local\P
- React基础教程(06):条件渲染
叁拾舞
React教程react.js前端前端框架
1条件渲染使用条件渲染,结合TodoList案例,进行完善,实现以下功能:当列表中的数据为空的时候,现实提示信息暂无待办事项当列表中存在数据的时候,提示信息消失这里介绍三种实现方式。注意这里的Empty是前端框架Antd的组件,如果安装了antd直接使用即可,如果没有安装可以用div代替也是可以的。这里为了更直观,所以使用了前端框架antd的Empty组件。1、三元操作符{/*方式一*/}{thi
- 使用OpenCV和Python将图像读取为RGB
UixnContext
opencvpython人工智能OpenCV
在计算机视觉和图像处理中,OpenCV是一个广泛使用的开源库,提供了许多功能强大的图像处理工具。其中一个常见的任务是将图像读取为RGB格式,以便进一步处理和分析。在本文中,我将向您展示如何使用OpenCV和Python来实现这个任务。首先,确保您已经安装了OpenCV库。您可以使用以下命令在Python中安装OpenCV:pipinstallopencv-python一旦安装完成,我们可以开始写代
- 大数据面试系列之——Hadoop
潜心_守道
大数据面经面试大数据Hadoop
Hadoop的三个核心:HDFS(分布式存储系统)MapReduce(分布式计算系统)YARN(分布式资源调度)1.Hadoop集群的几种搭建模式1.单机模式:直接解压安装,不存在分布式存储系统2.伪分布式:NameNode和DataNode安装于同一个节点,无法体现分布式处理的优势。3.完全分布式:一个主节点,多个从节点,存在如果主节点宕机,集群就无法使用的缺点。4.高可用模式:多个主节点,多个
- 在VSCode中遇到Vetur插件与其他插件冲突时,
安琪CiCi
网络协议
1.检查冲突插件-常见冲突场景:-Vetur与VueLanguageFeatures(Volar):两者功能重叠,建议禁用Vetur,改用官方推荐的Volar。-格式化工具冲突(如Prettier、ESLint):多个格式化插件可能导致代码保存时行为异常。-操作步骤:1.打开VSCode扩展面板(Ctrl+Shift+X)。2.搜索已安装的插件,尝试禁用可疑插件(如Volar或其他Vue相关插件)
- 量子算法:英译名、概念、历史、现状与展望?
lisw05
量子计算计算机科学技术
李升伟整理####英译名量子算法的英文为**QuantumAlgorithm**。####概念量子算法是利用量子力学原理(如叠加态、纠缠态和干涉)设计的算法,旨在通过量子计算机高效解决经典计算机难以处理的问题。其核心在于利用量子比特(qubit)的并行计算能力,显著提升计算效率。####历史1.**1980年代**:RichardFeynman提出量子计算概念,认为量子计算机可以模拟经典计算机无法
- Vue2中使用全局事件总线
Aricanv
vue.jsjavascript前端
个人理解通过一个参数去实现任意组件间通信的一个方法这个参数需要被所有VueComponents看见仅仅可以在Vue2中使用,因Vue3中已经废弃了prototype第一步:实现全局事件总线在main.js中//创建vm的实例对象newVue({//将App组件放入容器中render:h=>h(App),beforeCreate(){Vue.prototype.$bus=this//安装全局总线},
- vscode配置python调试_vscode配置python调试(debug)
weixin_39747049
vscode作为宇宙级编辑器,已经越来越多人开始使用它。而它的扩展也琳琅满目,在这里我们介绍下vscode下如何进行python开发和调试。首先,我们需要安装python扩展,打开编辑器,输入ctrl+p,然后输入命令extinstall打开扩展搜索。在扩展里面搜素python扩展,然后安装。创建一个文件夹,然后使用vscode打开这个文件夹创建一个文件,然后命名为index.py。配置调试文件,
- golang反射基本操作
qq_37280513
golang开发语言后端
一、interface{}解析golang中的interface类型,底层是有T和V两个变量实现的,T代表类型,V代表真正的值用下面的例子来加深理解:varx*stringvardinterface{}d=xfmt.Println(d==x)//truefmt.Println(x==nil)//truefmt.Println(d==nil)//false解析:d==x,由于和*string比较,直
- linux 设置tomcat开机启动
m0_74824002
面试学习路线阿里巴巴linuxtomcat运维
在Linux系统中,要配置Tomcat开机自启动,可以创建一个名为tomcat.service的systemd服务文件,并将其放置在/etc/systemd/system/目录下。以下是一个基本的服务文件示例,假设Tomcat安装在/usr/local/tomcat路径下:1创建服务文件:sudonano/etc/systemd/system/tomcat.service添加以下内容到文件中:[U
- golang接口
产幻少年
golanggolang
1.类和接口typeClassNamestruct{}typeInterfaceNameinterface{}结构体类型是值类型,接口类型是引用类型。interface{}类型的变量可以存储任何类型的值。我们使用interface.(type)来检查interface存储的值的实际类型,并根据类型执行不同的操作。typeMyTypestruct{Valueint}varclientinterfac
- C语言中goto的使用及细节
六七_Shmily
#C语言c语言开发语言
文章目录前言一、goto的基本语法二、goto的使用场景三、使用细节和注意事项四、总结前言goto语句在C语言中是一个控制语句,它允许程序的执行流跳转到程序中的另一个地方(即标签)。尽管goto语句可以提供一种简便的方法来控制程序的执行流程,但它的使用在编程实践中常常是有争议的,因为不当使用可能导致代码的可读性和维护性降低。一、goto的基本语法goto语句的基本语法如下:gotolabel;//
- Golang 反射
不7夜宵
基础知识开发语言后端golang
一、Go反射的应用场景(一)对象序列化和反序列化场景描述在处理网络通信,数据存储等场景中,需要将对象转换为字节流(序列化)以便传输或存储,在接收端再将字节流转换回对象(反序列化)。反射可以在不知道对象具体结构的情况下,遍历对象的字段进行序列化和反序列化操作。优势灵活性高,能够处理各种不同类型的对象,而不需要为每个类型单独编写序列化和反序列化函数(二)框架开发场景描述例如在Web框架中,需要根据用户
- golang反射
产幻少年
golanggo
https://www.bilibili.com/video/BV1gf4y1r79E?p=23reflect包反射的作用:在运行时检查数据的类型和值核心函数reflect.TypeOf:获取一个值的类型reflect.ValueOf:获取它的值reflect.New:创建一个指向该类型的新指针。也就是说,为传入的类型分配内存,并返回一个指向该内存的指针的反射值。读取结构体字段,field就是成员
- Golang面经
电竞杰森斯坦森
Golanggolang面试开发语言
一、基础1.make与new的区别相同点:都是给变量分配内存不同点:作用变量类型不同,new给string,int,bool等分配内存,make给切片,map,channel分配内存;返回类型不一样,new返回指向变量的指针,make返回变量本身;new分配的空间被初始化为零值。make分配空间后会进行初始化(切片会被初始化为空切片、map会被初始化为空map、channel会被初始化为带有指定容
- 【Py/Java/C++/C/JS/Go六种语言OD独家2024E卷真题】20天拿下华为OD笔试之【模拟】2024E-最大相连男生数【欧弟算法】全网注释最详细分类最全的华为OD真题题解
闭着眼睛学算法
最新华为OD真题#模拟#状态压缩算法javac++c语言华为odjavascriptpython
可上欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳oj1441了解算法冲刺训练(备注【CSDN】否则不通过)文章目录相关推荐阅读题目描述与示例题目描述输入描述输出描述示例输入输出解题思路代码代码一:分类写法pythonjavacppCNodejavaScriptGo代码二:合并写法pythonjavacppCNodejavaScriptGo*代码三:状态压缩写法pythonjavacppCNod
- 【Py/Java/C++/JS/Go五种语言【OD独家2024E卷真题】20天拿下华为OD笔试之【哈希表】2024E-猜字谜【欧弟算法】全网注释最详细分类最全的华为OD真题题解
闭着眼睛学算法
最新华为OD真题#哈希表javac++华为odpython算法leetcode
可上欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳oj1441了解算法冲刺训练(备注【CSDN】否则不通过)文章目录相关推荐阅读题目描述与示例题目描述输入描述输出描述备注示例一输入输出示例二输入输出解题思路谜面和谜底如何匹配暴力匹配所有谜底谜底库哈希表的构建代码解法一:哈希表预处理谜底pythonjavacppNodejavaScriptgo时空复杂度解法二:暴力匹配解(会超时)pythonja
- 利用golang embed特性嵌入前端资源问题解决
Iam0x17
golang前端
embed嵌入前端资源,配置前端路由的代码如下funcStartHttpService(portstring,assetsFsembed.FS)error{//r:=gin.Default()gin.SetMode(gin.ReleaseMode)r:=gin.New()r.Use(CORSMiddleware())//静态文件服务dist,err:=fs.Sub(assetsFs,"assets
- Golang 编码规范
云满笔记
golanggolang
这里写目录标题1.Golang编码规范1.1.gofmt1.2.注释1.2.1.包注释1.2.2.可导出类型1.3.命名1.3.1.包名1.3.2.接口名1.3.3.混合大小写1.3.4.变量1.4.控制结构1.4.1.if1.4.2.for1.4.3.range1.4.4.return1.5.函数(必须)1.6.错误处理1.7.panic1.8.import1.9.缩写1.9.1.采用全部大写或
- 【编程实践】Golang 生成PDF
AI天才研究院
Golang实战golangpdf开发语言
Golang生成PDF一个简单但是非常实用的pdf生成器!安装:gogetgithub.com/jung-kurt/gofpdf代码:packagemainimport("github.com/jung-kurt/gofpdf")funcmain(){err:=GeneratePdf("hello.pdf")iferr!=nil{panic(err)}}//GeneratePdfgenerates
- Go入门指南- 7.1数组声明和初始化
白小白的学习笔记
Go入门指南golang算法数据结构
7.1.1概念数组是具有相同唯一类型的一组以编号且长度固定的数据项序列(这是一种同构的数据结构);这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。数组长度必须是一个常量表达式,并且必须是一个非负整数。数组长度也是数组类型的一部分,所以[5]int和[10]int是属于不同类型的。数组的编译时值初始化是按照数组顺序完成的(如下)。注意事项如果我们想让数组元素类型为任意类型的话可以使用空接
- 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独立出来,数据持