- 【STM32学习记录05】STM32功能介绍—内核与存储器
触角01010001
STM32stm32学习嵌入式硬件
主题内容教学目的/扩展视频STM32功能介绍(重点课程)包括ARM核心,内存,时钟,复位,电源,电压监控,看门狗,低功耗,ADC,中断,IO接口,调试模式,定时器,通信接口等功能的基础知识介绍。对单片机内部各功能有初步的认识,不要求深入了解。为未来细讲做信心上的准备。学习课程来源于洋桃电子,杜洋老师文章目录学习目标学习重点扩展相关资源学习目标对单片机内部ARM核心与内存有初步的认识,不要求深入了解
- C++ 课程设计 汇总(含源码)
三雷科技
笔记c++课程设计开发语言
C++课程设计[C++课程设计个人账务管理系统(含源码)](https://arv000.blog.csdn.net/article/details/145601695)[C++课程设计运动会分数统计(含源码)](https://arv000.blog.csdn.net/article/details/145601819)[C++课程设计打印万年历(含源码)](https://arv000.blo
- 基于旭日派的Ros系统小车的再开发——使用python脚本Astra调用深度相机(学习笔记)
Z._ Yang
python嵌入式硬件个人开发python
1、Ros系统的简要介绍:ROS是你的机器人的操作系统。它运行在各种不同类型的计算机上的标准Linux系统之上,如树莓派或其他的一些单片机、以及笔记本电脑或台式电脑。ROS中可执行的程序的基本单位是:节点(node)节点之间通过消息机制进行通信,这就组成了:算图(abac)节点之间通过收发消息进行通信,消息的收发机制分为:话题(topic)、服务(service)和动作(action)1.ROS提
- 南凌科技接入deepseek大模型,提升云网智安服务能力
NOVAnet2023
科技
南凌科技自成立以来,始终秉持创新驱动的理念,积极探索并运用新兴的人工智能技术,赋能公司服务能力和运营效率提升。2024年,南凌科技便已接入各类大模型,包含智谱、通义千问等大模型。在2024年10月的“AI+安全”研讨大会上,南凌科技CTO鲁子奕博士就已向客户、媒体等展示了南凌科技运用AI大模型进行数据处理、客服问答等场景。如今,DeepSeek以其开源特性崭露头角,不仅展现出高度的灵活性与可定制性
- 数据类型与变量
5xidixi
java开发语言
数据类型与变量1.字面常量常量即程序运行期间,固定不变的量称为常量publicclassMain{publicstaticvoidmain(String[]args){System.out.println("helloworld!");System.out.println(10);System.out.println(1.11);System.out.println('A');System.out
- 蓝桥杯备考:搜索算法之排列问题
无敌大饺子 1
蓝桥杯算法职场和发展
#include#includeusingnamespacestd;intn,k;constintN=20;vectorpath;boolst[N];voiddfs(){if(path.size()==k){for(autoe:path){cout>n>>k;dfs();}
- 内容中台重构智能服务:人工智能技术驱动精准决策
清风徐徐de来
其他
内容概要现代企业数字化转型进程中,内容中台与人工智能技术的深度融合正在重构智能服务的基础架构。通过整合自然语言处理、知识图谱构建与深度学习算法三大技术模块,该架构实现了从数据采集到决策输出的全链路智能化。在数据层,系统可对接CRM、ERP等企业软件,通过标准化接口完成多源异构数据的实时清洗与结构化处理,例如某金融科技平台利用动态知识图谱技术,将分散的客户行为数据与市场情报进行语义关联,形成可解释的
- centos 安装alien
编程日记
Linux
出处:http://linux4you.in/install-netapp-oncommand-system-manger-on-centos/1.在root权限下执行命令$sudosu2.安装alien需要的依赖包#yum-yinstallPythonrpm-buildmakem4gcc-c++autoconfautomakeredhat-rpm-configmod_dav_svnmod_ssl
- 定期自动统计大表执行情况
deadknight9
Oracle运维ffmpeg
一、创建用户并赋权createuserdbtjidentifiedbyoracledefaulttablespaceOGGTBS;grantconnect,resourcetodbtj;grantselectanydictionarytodbtj;grantcreatejobtodbtj;grantmanageschedulertodbtj;二、创建存储表1、连接到新建用户conndbtj/ora
- oracle数据库awr取间隔调整
deadknight9
Oracle运维数据库oracle
一、查看取值间隔SQL>select*fromdba_hist_wr_control;DBIDSNAP_INTERVALRETENTIONTOPNSQL--------------------------------------------------------------------------------1549435079+0000001:00:00.0+0000800:00:00.0DE
- [k8s]部署MetalLB(Layer2模式)
Logout:
容器k8skubernetes容器云原生
创建安装目录mkdir/etc/kubernetes/MetalLB修改kube-proxy配置kubectleditconfigmap-nkube-systemkube-proxymode:"ipvs"#添加ipvsstrictARP:true#false改为true创建namespacekubectlcreatenamespacemetallb-system创建ip池cat>IPAddress
- [k8s]部署ingress-nginx
Logout:
k8s容器kubernetesnginx容器
获取安装包https://github.com/kubernetes/ingress-nginx/blob/controller-v1.11.1/deploy/static/provider/baremetal/deploy.yaml修改端口映射方式sed-is#NodePort#LoadBalancer#g/etc/kubernetes/ingress-nginx/deploy.yaml部署in
- 使用NLTK,Natural Language Toolkit(Python自然语言工具包)对“PyMuPDF、Pillow和pytesseract实现PDF文件中文OCR识别”的改进
岳涛@泰山医院
Dashpythonpillowpdf
文章目录一、“PyMuPDF、Pillow和pytesseract实现PDF文件中文OCR识别”存在的问题及改进方向1.1存在问题1.2改进方向1.2.1使用PyMuPdf识别文字元素1.2.2使用NLTK对两次识别的结果进行相似度比对二、NLTK的安装2.1NLTK简介2.2pip安装2.3下载nltk_data2.4解压到C:/Users/Administrator/AppData/Roami
- Springboot 集成 netty-socketio + Vue前端分离
Synologs过客
Javajavaajaxsocketwebsocketspring
Springboot集成netty-socketionetty-socketio:仿`node.js`实现的socket.io服务端1.将WebSocket、AJAX和其它的通信方式全部封装成了统一的通信接口2.使用时,不用担心兼容问题,底层会自动选用最佳的通信方式3.适合进行服务端和客户端双向数据通信pom.xmlcom.corundumstudio.socketionetty-socketio
- 研究线段树的最大子段和
数据掘金
java算法数据库
我们可以分析出上题就是带修改的最大子段和[-](http://jvquant.com/wiki/行情/解析行情.html)遇到这种类型的题目应该想到用线段树[-](http://jvquant.com/wiki/行情/订阅/美股行情订阅.html)实现对于原数列,先建起一棵线段树,每个节点包含最大前缀、最大后缀、最大字段和、区间和信息[-]()当你明确一道题是线段树时,要先思考pushup和pus
- 股票量化实时行情接口WebSocket接入Python封装
数据掘金
websocket量化行情接口python
Python做量化,如果是日内策略,需要更实时的行情数据,不然策略滑点太大,容易跑偏结果。之前用行情网站提供的level1行情接口,实测平均更新延迟达到了6秒,超过10只股票并发请求频率过快很容易封IP。后面又尝试了买代理IP来请求,成本太高而且不稳定。在Github上看到一个可转债的Golang高频T+0策略,对接的是WebSocket协议,拿来改了改,封装了一个Python版本的包,记录一下:
- 自动化炒股:券商交易接口API调用方法
数据掘金
自动化金融
支持券商同花顺/东方财富等,东方财富的用户无门槛开通,输入对应券商的资金账号密码,即可调用OpenAPI进行交易。调用方法分配柜台根据您所在的地区分配合适的服务器。注意:每次分配的服务器地址会发生变化,连接服务前,请务必调用该接口获取最新的服务器地址。分配服务器地址:http://jvQuant.com/query/server?market=ab&type=trade&token=登录柜台输入交
- 《Python 中的数学魔法:轻松计算最大公约数和最小公倍数》
清水白石008
pythonPython题库python开发语言
标题:《Python中的数学魔法:轻松计算最大公约数和最小公倍数》在数学和编程中,最大公约数(GreatestCommonDivisor,GCD)和最小公倍数(LeastCommonMultiple,LCM)是两个非常重要的概念。它们在分数运算、密码学、计算几何等领域都有广泛应用。今天,我们将深入探讨如何使用Python编写一个高效、实用的函数来计算两个数的最大公约数和最小公倍数。理解基本概念在开
- python | math --- 数学函数
黄佳俊、
Pythonpython
这些函数不适用于复数;如果你需要计算复数,请使用cmath模块中的同名函数。常用数论与表示函数math.ceil(x)返回x的上限,即大于或者等于x的最小整数。如果x不是一个浮点数,则委托x.__ceil__(),返回一个Integral类的值。math.fabs(x)返回x的绝对值。math.factorial(x)以一个整数返回x的阶乘。如果x不是整数或为负数时则将引发ValueError。3
- python中网络爬虫框架
你可以自己看
pythonpython爬虫开发语言
Python中有许多强大的网络爬虫框架,它们帮助开发者轻松地抓取和处理网页数据。最常用的Python网络爬虫框架有以下几个:1.ScrapyScrapy是Python中最受欢迎的网络爬虫框架之一,专为大规模网络爬取和数据提取任务而设计。它功能强大、效率高,支持异步处理,是数据采集和网络爬虫的首选。Scrapy的主要特点:支持异步请求,爬取速度非常快。内置了处理请求、响应、解析HTML等常用的功能。
- 利用Python的PIL、PyMuPDF库为图片和PDF文件去水印
春风锤呀锤
杂记Pythonpython经验分享vscode
目标:净化电子书水印,供notability使用。库安装pillow库:基于PIL,支持python3官方文档:Pillow(PILFork)9.2.0.dev0documentationpipinstallpillowPyMuPDF:MuPDF的Python接口形式官方文档:PyMuPDFDocumentation—PyMuPDF1.19.6documentation安装文件:PyMuPDF·P
- 6266:取石子游戏C++
黛色正浓
数据结构openjudgec++
取石子游戏描述有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢.比如初始的时候两堆石子的数目是25和7257-->117-->47-->43-->13-->10选手1取选手2取选手1取选手2取选手1取最后选手1(先取的)获胜,在取的过程中选手2都只有唯一的一种取法。给定初始时石子的数目,如果两个人都采
- 【SpringAOP】JoinPoint和ProceedingJoinPoint详解
CRE_MO
spring
1.JoinPointJoinpoint是指在应用程序执行过程中可以被拦截的特定点。在AOP中,Joinpoint代表了程序执行的某个具体位置,比如方法的调用、异常的抛出等。AOP框架通过拦截这些Joinpoint来插入额外的逻辑,实现横切关注点的功能。我们可以通过JoinPoint获取到除了异常参数对象和返回值之外的所有信息。获取代理信息方法:MethodSignaturesignature=(
- 【AI-32】浅显易懂地说一下LangChain
W Y
人工智能langchain
好的!我来用最通俗的方式解释一下LangChain是什么,以及它为什么在AI开发中如此重要。一句话理解LangChainLangChain是一个帮你快速搭建AI应用的工具箱,它把大型语言模型(如GPT)和外部数据、计算工具、业务流程连接起来,让开发AI应用像搭积木一样简单。类比:想象你要造一辆车,LangChain就是提供现成的引擎、方向盘、轮子(模块化组件),你只需组装它们,而不用从零开始炼钢造
- 4、使用百度飞浆训练字符验证码
时光亦不回首
验证码识别python百度飞浆字符验证码识别模型训练
前言:前面我们讲了环境的安装,这一篇就讲一讲如何使用飞浆来训练我们的字符验证码实战讲解:老规矩,有文档我们就先看文档:十分钟完成PP-OCRv3识别全流程实战可以看到第一步就是准备运行环境,由于飞浆的运行环境我们前面已经安装好了,所以接下来安装环境只是训练OCR识别的环境,那下面直接开始吧!1.环境准备先下载PaddleOCRPaddleOCR将下载下来的压缩包进行解压,解压之后如下
- html实现背景颜色透明,文字效果不透明
快乐的二进制鸭
htmlcsscss3
html实现背景颜色透明,文字效果不透明通过伪元素的方式添加遮罩层(给背景颜色,层级,透明度,定位)即可,弹窗原理。{{itemTitles}}评标时间:14:30:00 - 18:30:00正在评标张三离开张三进入张三离开.contentLi{border-radius:0px45px0px45px;padding:49px40px30px39px;position:rela
- 屏幕适配—在电脑默认推荐缩放比为125%或150%等情况下的浏览器100%显示的适配(适用大数据平台)
快乐的二进制鸭
页面缩放适配javascript前端开发语言
屏幕适配—在电脑默认推荐缩放比为125%或150%等情况下的浏览器100%显示的适配(适用大数据平台)1.创建缩放适配DevicePixelRatio.js文件在_correct方法中进行限制。/***@authorxingwu*@date2022-06-10*@description校正windows页面在系统进行缩放后导致页面被放大的问题,通常放大比例是125%、150%***/classDe
- vue项目在不同分辨率下页面的适配
快乐的二进制鸭
媒体查询vue.jsjavascript前端
vue项目中在不同分辨率下页面的适配(媒体查询方案)1.通过在不同分辨率下设置html的字体大小@mediascreenand(min-width:1281px)and(max-width:1366px){html{font-size:12px;}}@mediascreenand(min-width:1367px)and(max-width:1440px){html{font-size:14px}
- 前端开发者必看!10个CSS黑科技让你的代码逼格瞬间拉满(附完整源码)
前端御书房
HTML和CSS前端css
一、瀑布流终极布局方案(columns高阶用法)痛点场景:Grid/Flex布局出现诡异间隙✨破局代码:/*核心代码*/.pinterest-layout{columns:300pxauto;/*智能列宽+自适应*/column-gap:20px;break-inside:avoid;/*禁止内容断裂*/}✅三大优势:自动响应式(无需媒体查询)智能内容填充(告别空白)支持异构元素混排(图文/卡片自
- .NET8入门:11.身份验证(Windows)
晴天_QingTian
.NET8从入门到放弃.netwindows
ASP.NETCore中提供了多种身份证认证模式,几种常见的身份认证模式有以下几种。本文将详细介绍一下Windows身份认证在ASP.NETCore中如何使用。认证模式介绍Cookie最常见的身份认证方式之一。用户登录成功后,服务器会生成一个加密的Cookie并发送给客户端,客户端在后续请求中携带该Cookie来验证用户身份。JWTJSONWebToken)是一种基于JSON的开放标准(RFC75
- 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独立出来,数据持