- Flutter的iOS项目新增Watch APP笔记-终极省流版
Flutter的老项目,如果需要增设一个WatchAPP...写在前面:本文禁止任何转载,仅发布在Segmentfault开始玩首先,需要在xcode里打开你的项目……热知识:VSCode中,在ios文件夹上右键,有一个选项是OpeninXcode如何添加WatchAPPxcode里顶上选择File/New/Target…选watchOS的APP,创建完成如何为WatchAPP添加库watchap
- iview carousel 图片不显示;iview 轮播图 图片无法显示(转载)
weixin_30740295
javascriptViewUI
转载来源:https://segmentfault.com/q/1010000016778108相关代码受@熊猫酒仙简便的方法,给carousel加一个v-if指令,值与你控制modal的booean值绑定,这样carousel就会延迟初始化,达到计算listwidth不让其未0的效果这个问题是宽度为0导致的。从源码中可以看出,宽度在页面初始化(mounted)的时候就已经计算了,this.han
- Chrome浏览器插件之篡改HTTP的Head
CAir2
Chrome浏览器插件Chrome插件请求头拦截修改
参考文章,定制HTTP请求响应头域:https://segmentfault.com/a/1190000011997656#articleHeader7通过上一篇博客Chrome浏览器插件之监控网页地址,我们队chrom浏览器插件已经有了一个基本了解了,那么下面我们将增加一个新需求?统计页面跳转源,也就是http的Header里面的一个字段:Referer,如果请求包头不存在的时候我们就增加这个字
- 「译」布尔值的坑,你踩过吗?
翻译软件开发chatgpt
原文地址:BooleansAreaTrap原文作者:Katafrakt本文永久链接:https://segmentfault.com/a/1190000046582649译者:ChatGPT校对者:Fw恶龙作为开发者,我们经常使用布尔值(Boolean)。它们与计算机底层的工作方式完美契合,且与if语句等控制流工具配合得天衣无缝。布尔值简单易懂,似乎没有什么不妥。我们甚至喜欢到将布尔值用于业务建模
- [转载]DQN的例子--迷宫问题
Ritter_Liu
DQN
Fromhttps://segmentfault.com/a/1190000018120424代码可以参见https://blog.csdn.net/bbbeoy/...,本文我做了一些改动目前,强化学习中很火的当属Q-Learning了,关于Q-Learning的具体介绍请参加我上一篇文章。从上一篇文章中,我们可以看到,Qtable可以看做Q-Learning的大脑,Qtable对应了一张sta
- 使用Arthas神器,定位解决SpringBoot接口超时问题(附诊断流程)
JAVA葵花宝典
定位过滤器tomcatjavauefi
作者:空无segmentfault.com/a/1190000020383866背景公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用。最近在优化接口的响应时间,优化了代码之后,但是时间还是达不到要求;有一个诡异的100ms左右的耗时问题,在接口中打印了请求处理时间后,和调用方的响应时间还有差了100ms左右。比如程序里记录150m
- 关于ffmpeg的简介和使用总结
路溪非溪
ffmpeg
主要参考:全网最全FFmpeg教程,从新手到高手的蜕变指南-知乎(zhihu.com)FFmpeg入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。-CSDN博客FFmpeg教程(超级详细版)-个人文章-SegmentFault思否FFmpeg是一个开源的跨平台音视频处理框架,在多媒体领域堪称“神器”。它如同一个万能工具箱,涵盖了录制、转换、流化等一系列音视频处理功能,支持诸如AVI、MP
- SSL/TLS原理详解2
weixin_30788619
git运维python
引用原文地址:https://segmentfault.com/a/1190000004985253#articleHeader6在进行HTTP通信时,信息可能会监听、服务器或客户端身份伪装等安全问题,HTTPS则能有效解决这些问题。在使用原始的HTTP连接的时候,因为服务器与用户之间是直接进行的明文传输,导致了用户面临着很多的风险与威胁。攻击者可以用中间人攻击来轻易的截获或者篡改传输的数据。攻击
- Python 调用 C 动态链接库,包括结构体参数、回调函数等
chrome
项目中要对一个用C编写的.so库进行逻辑自测。这项工作,考虑到灵活性,我首先考虑用Python来完成。研究了一些资料,采用python的ctypes来完成这项工作。已经验证通过,本文记录一下适配流程。验证采用cpp来设计,不过暂时还没有涉及类的内容。以后如果需要再补足。本文地址:https://segmentfault.com/a/1190000013339754参考资料ctypes以下资料是关于
- MySQL/MariaDB 语句速查笔记
css3
平时实际开发的时候,其实并不太依赖MySQL作为关系型数据库中的“关系”这一属性,更多地只是把MySQL作为数据存储的介质。因此MySQL语句其实很少写,所以本文用于记录一些MySQL在常规数据操作中的常用语法,备查。少用或者不用的知识就不列了。本文地址:https://segmentfault.com/a/1190000019659700基础CURDCreate,添加数据INSERTINTO表名
- Linux fdisk 命令简单使用方法
safari
比如在/dev中有一块新的硬盘sde,那么我们就可以用fdisk/dev/sde来查看磁盘状态进入了fdisk命令列表之后,会先把磁盘的基本信息打印出来。输入m可以看到全部的命令列表。可以使用p查看当前的磁盘分区情况。本文地址:https://segmentfault.com/a/11...分区由于是空磁盘,假设我们只分一个区,那么我们应该使用n指令(addanewpartition)。有以下几步
- docker底层原理简述
andrew_1219
开发技能docker容器linux
前言平时用docker很多,今天深入了解下docker原理层面的实现,包括docker核心概念,文件系统,资源隔离,网络通信等参考文章:Docker底层原理(图解+秒懂+史上最全)-疯狂创客圈-博客园docker-LibnetworkCNM框架与实现-187J3X1-SegmentFault思否docker网络配置:bridge模式、host模式、container模式、none模式-熊仔其人-博
- CAP原理,zookeeper是强一致性么?为什么zookeeper不满足线性一致性依然可以实现分布式锁?
云闲不收
分布式zookeeper云原生
本文主要转自https://segmentfault.com/a/1190000044275677并加上了一些我的评论CAP原理cap分表是什么C:Consistency即一致性,访问所有的节点得到的数据应该是一样的。注意,这里的一致性指的是强一致性,也就是数据更新完,访问任何节点看到的数据完全一致,要和弱一致性,最终一致性区分开来。A:Availability即可用性,所有的节点都保持高可用性。
- Vue快速入门
陈暗暗
vuevue
原文地址:https://segmentfault.com/a/1190000012692321Vue-渐进式JavaScript框架介绍vue中文网vuegithubVue.js是一套构建用户界面(UI)的渐进式JavaScript框架库和框架的区别我们所说的前端框架与库的区别?Library库,本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者代表:jQueryj
- 国产开源项目 APISIX:基于云原生的微服务 API 网关
配方师JESSICA
云原生开源微服务架构
技术编辑:鸣飞发自北京SegmentFault思否报道丨公众号:SegmentFaultAPISIX是基于云原生的微服务API网关,它是所有业务流量的入口,可以处理传统的南北向流量,也可以处理服务间的东西向流量,也可以当做k8singresscontroller来使用。APISIX由深圳支流科技团队研发并且进入Apache基金会开始孵化。APISIX通过插件机制,提供动态负载平衡、身份验证、限流限
- 编译安装redis6.2.6
zxhy_llf
redis安装redis
编译安装redis6.2.6参考文档#redis6.0.5编译安装https://segmentfault.com/a/1190000023048088下载源码包##redis仓库http://download.redis.io/releases/##官方链接wgethttps://download.redis.io/releases/redis-6.2.6.tar.gz编译###解压tar-zx
- Python重试模块retrying
dianzhuohe9411
python爬虫
Python重试模块retrying工作中经常碰到的问题就是,某个方法出现了异常,重试几次。循环重复一个方法是很常见的。比如爬虫中的获取代理,对获取失败的情况进行重试。刚开始搜的几个博客讲的有点问题,建议看官方文档,还有自己动手实验。参考:https://segmentfault.com/a/1190000004085023https://pypi.org/project/retrying/最初的
- python函数闭包和递归_闭包和递归_个人文章 - SegmentFault 思否
weixin_39830313
python函数闭包和递归
js变量的作用域:全局作用域(全局变量):在函数外面声明的变量**生命周期(变量从声明到销毁):页面从打开到关闭.局部作用域(局部变量):在函数里面声明的变量**生命周:开始调用函数到函数执行完毕1.闭包使用介绍1.闭包介绍(closure)1.1闭包:是一个可以在函数外部访问函数内部变量的函数->闭包是函数1.2闭包作用:可以在函数外部访问函数内部变量->延长局部变量的生命周期1.3闭包语法:-
- LFI 临时文件RCE总结
dwm2
基础漏洞总结php
PHPLFI即本地文件包含漏洞,通过包含本地服务器上存储的一些文件,例如session文件、日志文件、临时文件等达到拿服务器权限的目的。比较常用的方法有:PHPINFO()和PHP7SegmentFault。他们的基本原理都是向服务器上传生成恶意的临时文件,再对恶意文件进行包含即可RCE。临时文件文件名由于临时文件名是由随机函数生成的,我们需要获取正确的文件名,也就是$_FILES['userfi
- git自动化部署post-receive无效(转载至segmentfault的sowork回答)
php_M
phpgit
本人在linux服务器下搭建了gitlab,创建项目,git本地推送,都正常。但是服务器上如何才能映射到该项目?通过咨询,得知,需要Git自动化部署。网上找了办法,几乎都是post-receive,但是设置了后也没效果。最终在思否里面一个回答者的办法试了,管用了。如下:安装完git后,git自带有钩子脚本比如我们的仓库是/var/git-repository/myRepo.git//备注:如果找不
- HTML邮件 兼容问题
Young_Gao
js+htmlHTML邮件兼容问题
先来两个传送门感受一下:https://blog.csdn.net/sunslee/article/details/6065825https://segmentfault.com/a/1190000008864116几乎每个会员制网站都需要通过后台发送邮件来与会员进行沟通,如注册确认、营销推广。这些由站方发给会员的信件,往往纯文本格式已不能满足界面和交互的要求,这时候我们就需要发送HTML页面。由
- Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)
coding996
Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换)https://segmentfault.com/a/1190000020849841Redis的集群方案大致有三种:1)rediscluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。一、sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集
- 书单
书籍
原文地址:https://segmentfault.com/a/1190000021486261作者:Fw恶龙本文首发于:思否20240101-0129《营养素与疾病改善》·中国营养学会与保健食品分会-★★★★☆0203-0317《生老病死的生意——文化与中国人寿保险市场的形成》·陈纯菁-★★★★★0319-0405《重来3跳出疯狂的忙碌》·[美]贾森·弗里德-★★★★☆0411-0427《我是个
- 创业公司需要什么样的人才?
上次元旦聚餐的时候,状态不好,没跟员工们一起吹吹牛逼,索性大家当天各种开玩笑还是蛮开心的,最后也做了一个简单的决定,尽量以后在聚餐的饭桌上还是少谈具体工作的事情啦,可以各种欢乐先吐槽!终于今天(2014年1月10日)上午,我在前一天晚上熬夜整理了一个简单的提纲,跟我们的少年们一起分享一下,自己的一些感受,以及SegmentFault明年的计划:)下面是具体的一些分享,希望对大家也有所帮助:)一个创
- 记录一次githubpage+cloudflare+freenom的静态博客部署
一、域名解析准备1.这里假设我在freenom注册了一个apitest.tk2.登录cloudflare,添加网站选择free3.填写名称服务器地址,第一张图的两个地址,填到第三张图并保存。保存完了检查一下哦!!!!原作者地址https://segmentfault.com/u/yourena_c二、githubpages项目准备1.编写html静态页面,一定要是index.html原作者地址ht
- 文章助手介绍四
后端
ArtiPub(ArticlePublisher的简称,意为"文章发布者")是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金、SegmentFault、CSDN、知乎、开源中国等技术媒体平台,传播优质知识,获取最大的曝光度。ArtiPub安装简单,提供了多种安装方式,可以一键安装使用,安装一般只要5分钟。ArtiPub目前支持文章编辑、文章发布、数据统计的功能,后期我们会加入
- 文章助手介绍二
后端
ArtiPub(ArticlePublisher的简称,意为"文章发布者")是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金、SegmentFault、CSDN、知乎、开源中国等技术媒体平台,传播优质知识,获取最大的曝光度。ArtiPub安装简单,提供了多种安装方式,可以一键安装使用,安装一般只要5分钟。ArtiPub目前支持文章编辑、文章发布、数据统计的功能,后期我们会加入
- 文章助手介绍三
后端
ArtiPub(ArticlePublisher的简称,意为"文章发布者")是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金、SegmentFault、CSDN、知乎、开源中国等技术媒体平台,传播优质知识,获取最大的曝光度。ArtiPub安装简单,提供了多种安装方式,可以一键安装使用,安装一般只要5分钟。ArtiPub目前支持文章编辑、文章发布、数据统计的功能,后期我们会加入
- 已婚中年男人失业一年是怎样一种体验?
本文参与了SegmentFault思否2023年度有奖征文活动,欢迎正在阅读的你也加入。去年的1月15日,是我作为全职员工在上家公司上班的最后一天;之后的这一整年里,我一直没有世俗意义的「正式工作」,算是持续着「失业」状态。收入来源没出来时都觉得自己很行,出来后才知道干啥啥不行。螺丝钉而已事务的标准化、精细化是各类组织规模化发展的前提,其所带来的重要后果是相关的个体愈发原子化,有着清晰且较为固化的
- attrs学习
一个哲哲哲
java服务器javascript
转载自:Python面向对象编程OOP(四)写类神器:attrs-阿尔法的Python笔记-SegmentFault思否使用attrs解放双手大家好,这一期我想和大家分享一个OOP编程的高效神器:attrs库首先我们来介绍下attrs这个库,其官方的介绍如下:attrs是这样的一个Python工具包,它能将你从繁综复杂的实现上解脱出来,享受编写Python类的快乐。它的目标就是在不减慢你编程速度的
- 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独立出来,数据持