- mysql数据库底层逻辑
一、数据加载在MySQL中,数据持久化存储在磁盘上,但为了高效访问,MySQL会智能地将数据加载到内存中。Mysql在内存中构建缓冲池,当查询需要访问数据时,MySQL首先检查缓冲池,若数据不在缓冲池:1.从磁盘读取目标页(16KB单位)2.将页加载到缓冲池的空闲页(FreeList)3.将页添加到LRUList的OldSublist头部(LRU分为两个区域:NewSublist(5/8):最近频
- 这才是你需要了解的时序数据库 Apache-IoTDB 源码解析之系统架构!
AI科学小老师
个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈1.系统架构1.1系统简介以上示意图可能非常简单,但我觉得足够表明一个整体架构。当一台设备、一辆车连接到协议网关后,便开始了真正的收发数据。一般通信的方式都是基于tcp,搞一段二进制协议,所以协议网关基本要做的工作就是完成对连接的管理、完成对数据的收发及编解码。当数据完成编解码之后一般会发往消息队列当中,一般都是Kafka之中。用来
- 时序数据库 Apache-IoTDB 源码解析之系统架构(二)
zhoumouren88
技术
上一章聊到时序数据是什么样,物联网行业中的时序数据的特点:存量数据大、新增数据多(采集频率高、设备量多)。详情请见:时序数据库Apache-IoTDB源码解析之前言(一)打一波广告,欢迎大家访问IoTDB仓库,求一波Star。这一章主要想聊一聊:物联网行业的基本系统架构,及使用数据库遇到的需求与挑战IoTDB的功能特点及系统架构车联网因为本人是在做车联网行业,所以对这个行业的信息了解更深入一些,能
- 时序数据库IoTDB好不好?
时序数据说
时序数据库数据库iotdb物联网开源
时序数据库IoTDB(InternetofThingsDatabase)是专为物联网场景设计的一款开源时序数据库系统,由清华大学团队开发并贡献给Apache基金会。经过多年发展,IoTDB已经在工业物联网、车联网、能源电力等多个领域得到广泛应用。那么IoTDB究竟好不好?下面我将从几个核心优势来分析。一、专为物联网优化的存储架构分层存储设计:IoTDB采用"内存缓冲区+磁盘文件+分布式存储"的分层
- Django基础(七)———模型常用Field以及Meta配置
前言上篇文章给大家介绍类Django和MySQL数据库的综合使用,以及框架中的ORM模型。这篇文章将继续讲述ORM模型当中常用的Field以及Meta配置一、模型常用Field在Django中,定义了一些Field来与数据库表中的字段类型来进行映射。以下将介绍那些常用的字段类型。1.AutoField映射到数据库中是int类型,可以有自动增长的特性。一般不需要使用这个类型,如果不指定主键,那么模型
- mysql索引和查询优化
Itzel_yuki
mysqlmysql索引mysql查询优化高性能mysql总结
BTree索引:1、对于组合索引,如果查询中有某个列是范围查询,则其右边所有列都无法使用索引优化查询2、高性能索引,索引的列不能是表达式的一部分,也不能是函数的参数。应该养成简化where查询的习惯,始终将索引列单独放在符号的一侧。3、前缀索引和索引的选择性:在创建前缀索引时,选择选择性更丰富的前缀长度。4、mysql无法使用前缀索引做orderBy和groupby,也无法使用前缀索引做覆盖扫描。
- Zookeeper 在 Kafka 中的作用详解:分布式协调服务的核心价值
lxb_不卑不亢
消息队列MQ进阶实战分布式zookeeperkafkarocketmq
摘要ApacheKafka是一个高吞吐、分布式的流处理平台,广泛应用于大数据和实时系统中。而ApacheZookeeper,则是Kafka背后不可或缺的“隐形英雄”。本文将深入剖析Zookeeper在Kafka架构中的核心作用,帮助开发者全面理解其在分布式协调、元数据管理、故障恢复等方面的关键地位。一、Zookeeper简介Zookeeper是一个开源的分布式协调服务,最初由Hadoop生态发展而
- 批量插入技巧:减少事务提交次数的性能提升
一、事务提交成本分析每次事务提交触发磁盘I/O同步(WAL机制)、日志写入和锁资源释放操作,高频独立提交会产生指数级开销。实验表明:MySQL提交1万次单条插入比单次批量插入慢20倍以上。高频提交还加剧锁竞争与死锁风险,导致事务队列膨胀。二、核心优化方案合并事务提交关闭自动提交(autocommit=0),单事务内完成批量操作后统一COMMIT,减少日志刷盘次数。示例代
- [Java实战]Spring Boot 整合 Freemarker (十一)
曼岛_
Java实战javaspringboot开发语言
[Java实战]SpringBoot整合Freemarker(十一)引言ApacheFreeMarker作为一款高性能的模板引擎,凭借其简洁语法、卓越性能和灵活扩展性,在JavaWeb开发中占据重要地位。结合SpringBoot的自动化配置能力,开发者能快速构建动态页面、生成报表或定制代码。本文将系统讲解整合流程、实战技巧、性能优化方案,并针对企业级场景提供深度解决方案。一、Freemarker核
- spring security 3 auto-config=“true”
springsecurity3设置auto-config=true时,会配置十个默认过滤器SecurityContextPersistenceFilterLogoutFilterUsernamePasswordAuthenticationFilterBasicAuthenticationFilterRequestCacheAwareFilterSecurityContextHolderAwareR
- 重塑未来:AI如何重新定义全栈开发
熊猫钓鱼>_>
人工智能
在传统认知中,全栈开发者被誉为技术界的“全能选手”。——他们需要精通前端界面构建(HTML/CSS/JavaScript)、后端业务逻辑实现(Python/Java/Node.js)、数据库设计优化(MySQL/MongoDB)以及服务器部署运维(Linux/Docker)。这种“一人包打天下”的能力模型长期被视为高效开发的黄金标准,尤其受到创业公司和小型团队的青睐,因为它能大幅减少沟通成本,加速
- php、go、python后端接口签名实现
奇华智能
后台开发linux签名接口安全
1.php实现/**生成签名,$args为请求参数,$key为私钥*/functionmakeSignature($args,$key){if(isset($args['sign'])){$oldSign=$args['sign'];unset($args['sign']);}else{$oldSign='';}ksort($args);$requestString='';foreach($arg
- php中的hmac,JavaScript通过CryptoJS等效实现php中hash_hmac函数加密raw_output配置
好想不取名
php中的hmac
在一个项目中,客户需要从前端签名,加密插件使用的cryptoJS,使用与后端一样的签名流程(HmacSHA1后Base64.encode)发现并不能通过签名认证,签名校验方后端php代码中使用hash_hmac函数,先来看一下则会个函数的官网说明:说明hash_hmac(string$algo,string$data,string$key[,bool$raw_output=FALSE]):stri
- YFCMF-TP6 改后台模块路径方法
huluang
php
1、创建表单,表民phpthinkcrud-tbeian_dignji-u12、app路径controllerlang/zh-cnmodelvalidateview以及public/assets/js/backend/找到beian_dignji每个路径下创建需要增加的文件夹名称,如beian,并将以上目录的文件或文件夹剪切到当前文件及下3、编辑表fa_auth_rule规则名称主要为105,上级
- HMAC API 接口签名 Message安全验证
潘多编程
java高级哈希算法算法
什么是HMAC?HMAC全称(Hash-basedMessageAuthenticationCode,即基于Hash的消息的认证码)。-基本过程为对某个消息,利用提前共享的对称密钥和Hash算法进行加密处理,得到HMAC值。-该HMAC值提供方可以证明自己拥有共享密钥的对称密钥,并且消息自身可以利用HMAC确保未经篡改。为什么需要API接口签名?对外开放的API接口都会面临一些安全问题,例如伪装攻
- 第八次作业
一、备份与恢复作业:创库,建表:CREATEDATABASEbooksDB;usebooksDB;CREATETABLEbooks(bk_idINTNOTNULLPRIMARYKEY,bk_titleVARCHAR(50)NOTNULL,copyrightYEARNOTNULL);CREATETABLEauthors(auth_idINTNOTNULLPRIMARYKEY,auth_nameVAR
- Mysql 事务
乔治大叔
为什么要有事务?事务广泛的运用于订单系统、银行系统等多种场景。如果有以下一个场景:A用户和B用户是银行的储户。现在A要给B转账500元。那么需要做以下几件事:检查A的账户余额>500元;A账户扣除500元;B账户增加500元;正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜。那如果A账户扣了钱之后,系统出故障了呢?A白白损失了500,而B也没有收到本该属于他的500。以上的案例中,隐
- Mybatis知识点2
一、MyBatis通过注解的方式实现增删改查packagecom.ape.dao;importcom.ape.pojo.Emp;importorg.apache.ibatis.annotations.*;importjava.util.List;publicinterfaceEmpDao{//增添信息@Insert("insertintoemp(ename,egender,esalary)valu
- 了解B/S架构
Ashman.se
计算机语言架构
一.B/S的概念B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用;客户机上只需要安装一个浏览器,服务器上安装SQLServer,Oracle,MySql等数据库;浏览器通过WebServer同数据库进行数据交互。二
- Apache Ignite 索引(Indexes)定义和使用
lang20150928
其他apacheIgnite
这段内容是关于ApacheIgnite中如何定义和使用索引(Indexes)的说明。下面我将为你逐段解释这段内容的含义,并帮助你理解ApacheIgnite中SQL索引机制的核心概念。一、索引的定义原文:InadditiontocommonDDLcommands,suchasCREATE/DROPINDEX,developerscanuseIgnite’sSQLAPIstodefineindexe
- python-读写mysql(操作mysql数据库)
importpymysqlimportpandasaspdimporttimeonly_time=time.localtime(time.time())time_now=time.strftime('%Y-%m-%d%H:%M:%S',only_time)dt=time.strftime('%Y%m%d',only_time)t=time.time()tt=int(t)parentId=''sta
- python读写mysql
cavin_2017
Python学习
目前用到的连接数据库,主要实现连个功能:1.根据sql查询2.将dataframe数据通过pandas包写入mysql数据库中1.根据sql查询:通常我们通过sql查询mysql中的表,分三步1.连接数据库2.数据查询3.关闭连接,如果需要查询的步骤较多,将查询封装成函数,通过参数传递sql代码会省事很多。##定义连接数据库函数defmy_db(host,user,passwd,db,sql,po
- Tomcat 目录结构及JAR包说明
WSSWWWSSW
tomcatjarjava
Tomcat目录结构及JAR包说明一、Tomcat目录结构概述ApacheTomcat是一个开源的Servlet容器,用于运行JavaWeb应用程序。其标准目录结构如下:tomcat/├──bin/#二进制脚本文件(启动、停止等)├──conf/#配置文件目录├──lib/#Tomcat核心库及依赖├──logs/#日志文件目录├──temp/#临时文件目录├──webapps/#Web应用程序部
- mysql学习记录7.22
woshishui68892
记录一下在学习mysql时避免忘记的内容。日期计算MySQL提供了一些函数,可用于对日期执行计算,例如,计算年龄或提取部分日期。要确定您的每只宠物几岁,请使用该TIMESTAMPDIFF()功能。它的参数是要表示结果的单位,以及两个日期之间的差值。以下查询为每只宠物显示出生日期,当前日期和年龄(以年为单位)。一个别名(age)是用来制造最终输出列标签更有意义。SELECTname,birth,CU
- mysql+explain怎么看_MySQL学习----explain查看一条sql 的性能
安123
在开发的过程中,对于我们写的sql语句,我们有时候会考虑sql语句的性能,那么explain就是首选。Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explainselect…from…[where...]例如:expl
- Navicat 连接不上阿里云服务器中安装的宝塔面板中的Mysql服务器
一只程序熊
阿里云服务器云计算
项目场景:就今天在做宝塔的时候遇到一个新问题,在之前的阿里云服务器中都没有发现过这个问题!特此记录解决方案:本地连接不上云服务器主要是这几个原因:1.云服务器官方的安全组问题(安全组是否放行目标端口)2.云服务器内部的服务端口问题(服务器内部端口是否向外部开放)但是今天我又在云服务器安全组内部发现了一个新的问题:3.云服务器中设置了仅本机访问的ipv6的地址,但是仍然访问不了。可能是因为navic
- php(上传文件)
1、php文件上传配置指令(1)file_uploads=On/off(是否可以接受文件上传)(2)max_input_time=60在提示错误之前解析输入所花费的最长时间,以秒为单位,如果经常需要传输大文件,这个时限应该设置得合理一些。(3)max_file_uploads=20对可以同时上传文件数设置了一个上限。(4)memory_limit=128M设置脚本可以分配得最大内存,可以防止脚本独
- 小白带你部署LNMP分布式部署
刘俊涛liu
分布式
目录前言一、概述二、LNMP环境部署三、配置nginx1、yum安装2、编译安装四、安装1、编译安装nginx2、网络源3、稍作优化4、修改配置文件vim/usr/local/nginx/conf/nginx.conf5、书写测试页面五、部署应用前言LNMP平台指的是将Linux、Nginx、MySQL和PHP(或者其他的编程语言,如Python、Perl等)集成在一起的一种Web服务器环境。它是
- MySQL学习----Explain
典孝赢麻崩乐急
mysql学习数据库
使用Explain可以查看sql的性能瓶颈信息,并根据结果进行sql的相关优化。当使用Explain分析SQL查询时,MySQL会返回一个包含多个字段的结果集,每个字段都提供了查询执行计划的重要信息。主要输出字段详解(1)id含义:SELECT标识符作用:表示查询中SELECT子句的执行顺序值说明:id相同:执行顺序从上到下id不同:从大到小执行id为NULL:表示结果集,如UNION结果(2)s
- MySQL入门学习-查询优化.EXPLAIN
在MySQL中,'EXPLAIN'命令用于获取查询执行计划的信息。一、关于'EXPLAIN'的一些常见查询优化方面的特点、使用方法、与其他比较及高级应用:1.特点:-提供查询执行计划的详细信息,帮助了解查询的执行方式。-可以用于优化查询性能,找出潜在的性能问题。-适用于各种类型的查询,包括简单查询和复杂查询。2.使用方法:-在查询语句前添加'EXPLAIN'关键字,例如:'EXPLAINSELEC
- 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独立出来,数据持