- 从数据抓取到分析:用Python爬虫获取、清洗与可视化数据
程序员威哥
python爬虫c++
在数据科学领域,数据的获取、清洗与分析是整个数据处理过程中的关键步骤。随着互联网上数据的不断增多,使用Python爬虫抓取网站数据并进行分析已成为数据科学家和分析师的常见任务。本篇文章将通过具体的实例,展示如何使用Python从零开始抓取数据,清洗数据,并进行数据分析和可视化。1.数据抓取:用Python爬虫获取网页数据1.1选择爬虫工具Python提供了多个强大的爬虫框架和库,常用的工具包括:r
- 141G显存H20单机DeepSeek-R1满血FP8版性能测试
#环境参数#H20141G单机8卡,CUDA12.4,vLLMv0.8.3,flashinferv0.2.2#服务化命令#基于知乎大神的推荐出装与前期H800双机生产环境测试,在H20上开启EP、MLA等核心优化参数,实现推理吞吐性能最优吞吐量破10000tokens/s,VLLM0.8.1版本驱动下的Deepseek-r1671Bhttps://zhuanlan.zhihu.com/p/1887
- 一个简单测试Deepseek吞吐量的脚本,国内环境可跑
谢平康
深度学习pytorch人工智能
一个简单测试Deepseek吞吐量的脚本,这里用DeepSeek-R1-Distill-Qwen-32B,支持单卡409024G可跑,具体看你的硬件情况做调整,理论支持所有的模型,看你需要,可以修改模型名称,重点是pip使用国内的源,模型下载用阿里的ModelScope,无障碍下载,使用.最后可以生成一个txt与html报表.前提是你安装了python与python-venv,你可以不用venv来
- Linux 文件权限管理详解(chmod/chown)
真IT布道者
linux运维服务器
查看文件权限2.1使用ls-l命令$ls-l/etc/passwd-rw-r--r--1rootroot2412Mar110:00/etc/passwd输出解析:-rw-r--r--:权限字符串第一个root:属主第二个root:属组2.2权限字符串解析类型属主权限属组权限其他用户权限-rw-r--r--更多面试题:https://duoke360.com/tutorial/iv-linux/l7
- 基于Spring Boot的网络购物商城的设计与实现
代论文网课招代理
springboot后端java
目录摘要:IAbstract:II第1章系统分析11.1系统概述11.2系统可行性分析11.2.1技术可行性分析11.2.2经济可行性分析11.2.3社会可行性分析11.3需求分析21.2.1业务角色分析21.2.2用例分析3第2章系统设计42.1功能模块设计42.2功能流程设计52.2.1商品加入购物车流程52.2.2用户下单流程62.3数据库设计72.3.1数据库E-R设计72.3.2数据表设
- 【赵渝强老师】OceanBase数据库从零开始:Oracle模式
这里我们来介绍一下新上线的课程《OceanBase数据库从零开始:Oracle模式》,本门课程共11章,视频讲解如下:https://www.bilibili.com/video/BV1r4NCzHEka/?aid=114720556191...下面详细介绍一下每一章的主要内容:第01章-OceanBase的体系架构本章主要介绍OceanBase分布式数据库集群的体系架构,包括:OBServer节
- hmpcunlr.dll hpz3r5ha.dll HPPMDesktopIcon.dll histogram.ocx hsmon.dll hpqTsbDB.dll HGX.dll
a***0738
microsoftvisualstudiowindows
在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用MicrosoftVisualStudio编写的,所以这类软件的运行需要依赖微软VisualC++运行库,比如像QQ、迅雷、Adobe软件等等,如果没有安装VC++运行库或者安装的版本不完整,就可能会导致这些软件启动时报错,提示缺少库文件。如果我们遇到关于文件在系统使用过程中提示缺少找不到的情况,如果文件是属于运行库文件的
- Python编程:ISP中的白平衡(White Balance)
倔强老吕
C++与python交互编程pythonISP白平衡
白平衡(WhiteBalance)是图像信号处理(ISP)中的关键步骤,用于消除光源色温对图像颜色的影响,使白色物体在不同光照条件下都能呈现真实的白色。白平衡的基本原理白平衡通过调整图像中R、G、B三个通道的增益,使得在特定光源下白色物体能够呈现中性色(R=G=B)。主要概念色温:表示光源颜色的物理量,单位是开尔文(K)灰色世界假设:认为自然场景的平均反射率是中性灰色完美反射体假设:认为图像中最亮
- Python编程:使用 YOLO 目标检测
倔强老吕
python开发语言
YOLO(YouOnlyLookOnce)是一种基于深度学习的实时目标检测算法,由JosephRedmon等人于2016年首次提出。与传统的两阶段目标检测方法(如R-CNN系列)不同,YOLO将目标检测任务视为一个单一的回归问题,直接在图像上进行一次推理即可预测边界框和类别概率。YOLO的核心思想单次前向传播(SingleShotDetection):YOLO只需对输入图像进行一次神经网络推理,就
- 基于YOLOv8和Faster R-CNN的输电线路异物目标检测项目 检测 输电线异物数据集 输电线缺陷数据集 绝缘子 如何使用YOLOv8和Faster R-CNN训练输电线路异物目标检测数据集
QQ67658008
YOLOr语言cnn输电线路绝缘子线路异物目标检测
电力篇-输电线路缺陷数据集输电线路异物目标检测数据集16000张5种检测目标:‘burst’-爆裂‘defect’-缺陷‘foreign_obj’-异物‘insulator’-绝缘体‘nest’-窝(巢)带标注-YOLO格式可直接用于YOLO系列目标检测算法模型训练如何使用YOLOv8和FasterR-CNN训练输电线路异物目标检测数据集的详细步骤和代码。假设数据集包含16000张图片和5种检测目
- Redis——》双写一致性
思考:项目为什么要用redis?redis配置集群了吗?怎么配的?几台机器?单台redis的压力多少?一、我们为什么引入redis?一定要根据业务场景来,首先分析读写情况,再来考虑要不要引入redis读少写多:不要引用redis读多写多:适当引用redis(可以减少mysql数据库压力,如果不引用,可以使用数据库的主从复制,读写分离)读少写少:不要引用redis(根本没有必要)读多写少:可以引用r
- 【行云流水a】淘天联合爱橙开源强化学习训练框架ROLL OpenRL/openrl PPO-for-Beginners: 从零开始实现强化学习算法PPO 强化学习框架verl 港大等开源GoT-R1
行云流水AI笔记
开源算法
以下是DQN(DeepQ-Network)和PPO(ProximalPolicyOptimization)的全面对比流程图及文字解析。两者是强化学习的核心算法,但在设计理念、适用场景和实现机制上有显著差异:graphTDA[对比维度]-->B[算法类型]A-->C[策略表示]A-->D[动作空间]A-->E[学习机制]A-->F[探索方式]A-->G[稳定性]A-->H[样本效率]A-->I[关键
- vue3中ref自动解包
1.模板中使用ref类型的数据,会自动解包,注意需要是顶级的ref{{name}}import{ref}from'vue'constname=ref('hello')下面的ref不会自动解包{{num}}--{{obj.id}}num+1-----------{{num+1}}obj.id+1-----------{{obj.id+1}}import{ref}from'vue'constnum=r
- DeepSeek R1 Android本地化部署
Dawson_Jiang
大模型deepseekollamaAI大模型手机部署deepseek
1.概述android手机端部署deepseek一般需要安装termux,ollama,deepseek三个大的步骤原因分析:deepseek等大模型需要类似ollama的工具去运行。ollama有macwindow和linux版本,无Android版本;termux是一个模拟linux环境的Androidapp,在此环境中即可安装运行ollamalinux版本,然后再ollama上面部署运行de
- C++学习笔记.2
Lowjin_
C++c++学习笔记
类和对象封装语法:class关键字{访问权限属性行为}#includeusingnamespacestd;constdoublepi=3.14;//设计一个圆类classcircle{//访问权限//公共权限public://属性intr;//行为doublec(){return2*pi*r;}};intmain(){//通过圆类创建具体的圆(对象)circlec1;c1.r=10;cout#in
- 数文件夹中jpg,json文件个数
叶子202422
Python学习记录jsonsql数据库
#2025.6.14importosfolder_path=r"E:\shujuji\the_seconde_shujuji_select_taka_photo_in_2025_6_9\select_from_images\select_colors"#替换为你的文件夹路径jpg_count=0json_count=0forfilenameinos.listdir(folder_path):iff
- Python个人学习基础笔记-3.爬虫(1)
孜宸润泽
python学习笔记
一.爬虫的定义爬虫(crawler/spider)是模拟浏览器行为,按照编写规则,自动接收网页信息的工具。通常而言爬虫首先从初始URL集选择URL,向目标网页发起请求,获取网页的HTML源码,然后将获取的数据进行解析过滤,保存我们所需要的标题、内容等,最后提取新的URL加入待爬序列。爬虫常见所需要的库包括Request库、BeautifulSoup4库、Scrapy库和Selenium库等。二.R
- 修复opensuse 风滚草rabbitmq的Error: :plugins_dir_does_not_exist问题
翻滚吧键盘
openSUSErabbitmqchromeruby
https://wiki.archlinux.org/title/Talk:RabbitMQ报错yqh@192/u/l/r/l/r/plugins>sudorabbitmq-pluginsenablerabbitmq_managementError::plugins_dir_does_not_existArgumentsgiven:enablerabbitmq_managementUsagerab
- 布线后优化(PostRoute Optimization)解析
weixin_45371279
innovus
AboutPostRouteOptimization一、PostRoute优化的核心功能与默认行为在PostRoute模式下,软件默认执行以下操作(除非手动指定其他目标):违规修复优先级:首先处理寄存器到寄存器(Reg2Reg)路径及寄存器到时钟(Reg2Clock)路径组。其次处理默认路径组的建立时间(Setup)违规和设计规则违规(DRV)。技术流程:RC参数提取:计算布线后的寄生电阻(R)和
- 上位机知识篇---Conda/pip install
Atticus-Orion
上位机知识篇上位机操作篇深度学习篇condapip
在Python环境中,condainstall和pipinstall是两个常用的包安装命令,它们分别属于不同的包管理系统。下面从多个方面详细介绍它们的区别和使用场景:1.所属系统与适用范围特性condainstallpipinstall所属系统Anaconda/Miniconda生态系统Python标准包管理系统(PyPI)适用语言支持Python、R、Java等多种语言的包仅支持Python包依
- C51填坑记:中断处理导致主程序函数参数改变
albert_812
C51C51DataOverlay中断参数异常改变
1.现象平台:keilc51,中颖SH79F7019A现象:在增加了一个中断处理逻辑后,发现主程序异常,断点调试发现某个函数的参数被改变了,程序使用了错误的数据导致逻辑出错。2.排查初步分析,可能原因如下:1.参数寄存器(R0-R7)的值,被中断函数改变。2.堆栈溢出。2.1参数寄存器首先排查参数寄存器(中断里面调用了函数,有参数传递)。通过仿真器观察中断函数汇编代码,发现在进入中断之前是对R0-
- python正则匹配11个数字_python正则表达式re.match()匹配多个字符方法的实现
小馬锅
python正则匹配11个数字
1.*表示匹配任意多个字符\d*表示匹配任意多个数字字符importretext="123h1elloworld"text1="123Helloworld456"text2="helloworld"res=re.match("\d*",text)res1=re.match("\d*",text1)res2=re.match("\d*",text2)print(res.group())print(r
- STM32+ESP8266连接网络的几种方法
op:)
stm32stm32嵌入式
1、SmartConfig上篇文章提到的2、连接固定的路由在程序中写死;例如:voidESP8266_Init_Fixed_WiFi(void){ESP8266_Clear();/*AT测试*/printf("0.AT\r\n");ESP8266_SendCmd("AT\r\n","");delay_ms(500);/*重启*/printf("1.RST\r\n");ESP8266_SendCmd
- 达人评测 锐龙9 8940HX和r9 7940HX差距大不大
ThantZinHtay
cpu
R97940HX采用了Zen4架构,5nm制作工艺8核16线程,主频2.4GHz,最高睿频5.2GHz三级缓存64MB功耗55w选R97940HX还是锐龙98940HX这些点很重要http://www.adiannao.cn/dyR98940HX采用Zen5架构和5nm生产工艺16核心32线程基础频率为2.3GHz,最高加速频率5.3GHz三级缓存为64MB热设计功耗(TDP)55W
- Winrar X64_V6.24_win10/win11
Malwolf
winrar
SW_WinRAR_W11_64_V6240_20231108R.zipwinrar解压工具,免费版,无需破解,也不是破解版的,国内硬件大厂提供的官方版本。
- Mariadb-Server的二进制安装
linux土老帽
linux土老帽mariadblinuxcentos
搭建环境:OS:centos7.6版本mariadb:mariadb-10.2.25-linux-x86_64.tar.gz#下载地址:DownloadMariaDBServer-MariaDB.org1.创建用户组useradd-r-s/sbin/nologin-d/data/mysqlmysql#创建用户-r系统账户-s指定shell/sbin/nologin-d指定家目录但是不创建原因是系统
- linux服务器上创建一个文件需要授权一次的问题根源:umask
qq_30024063
linux运维服务器
umask命令用于设置文件的默认权限掩码。文件的权限掩码决定了新建文件的默认权限。umask命令的语法如下:umask[-S][模式]其中,-S选项用于以符号方式显示当前的权限掩码。模式表示要设置的新的权限掩码,可以使用八进制或者符号两种方式。在Linux系统中,每个文件都有三个属性:所有者权限、所属组权限和其他用户权限。每个属性有读、写和执行三个权限,分别用r、w和x表示。对于每一个属性,权限可
- Python_计算两个省市之间的直线距离_2506
夏天里的肥宅水
PYTHONpythonspring开发语言
更新代码上一版链接importpandasaspdimporttimeimportpickleimportosimportsysfromgeopy.geocodersimportNominatimfromgeopy.distanceimportgeodesicfromtqdmimporttqdm#ConfigurationINPUT_FILE=r"距离.xlsx"#输入文件路径OUTPUT_FIL
- 使用Docker部署mysql8
小莫分享
dockeradb容器
1、拉取mysql8的镜像:1[root@i-zgn6som8~]#dockerpullmysql:8.02、创建配置和数据文件夹并修改权限:1234mkdir-p/data/mysql8/confmkdir-p/data/mysql8/datachmod-R755/data/mysql8/3、配置一个自定义的配置文件my.cnf:1vim/data/mysql8/conf/my.cnf文件内容如
- 右移的错误使用 造成 超出时间限制 解决方案
aPurpleBerry
LeetCode做题总结算法力扣二分查找
题目链接:https://leetcode.cn/problems/guess-number-higher-or-lower/?envType=study-plan-v2&envId=leetcode-75最开始的代码varguessNumber=function(n){letl=1,r=n;while(l>1;if(guess(m)===-1){r=m-1;}elseif(guess(m)===
- 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独立出来,数据持