- 从入门到入土,Java学习day8(集合,学生管理系统实现)
慕容魏
java学习python
集合它很重要,因为可以自动扩容,操作起来非常方便对比数组长度固定,集合长度可变数组可以存储基本数据类型和引用数据类型集合可以存引用数据类型和包装类当集合需要存基本数据就要存对应的包装类byteByteshortShortcharCharacterintIntegerlongLongfloatFloatdoubleDoublebooleanBooleanArrayList打印对象不是地址值,而是集合
- PL/SQL 变量以及数据类型(下篇)
偏右右
PL/SQLsql数据库oracle
目录二、数据类型1.复合类型记录类型记录类型定义方式记录类型的操作表类型嵌套表可变数组记录类型与表类型的区别2.引用类型(未深入研究)3.LOB(longobject)类型LOB类型的种类4.属性类型(记录类型中已有示例,不过多赘述)二、数据类型1.复合类型复合类型允许定义更加复杂的数据结构,从而可以在一个变量中存储多个值。记录类型记录类型可以包含多个字段,每个字段可以有不同的数据类型。这种数据类
- python list常用方法_Python 列表 list 数组 array 常用操作集锦
weixin_39890289
pythonlist常用方法
Python中的列表(list)类似于C#中的可变数组(ArrayList),用于顺序存储结构。创建列表sample_list=['a',1,('a','b')]Python列表操作sample_list=['a','b',0,1,3]得到列表中的某一个值value_start=sample_list[0]end_value=sample_list[-1]删除列表的第一个值delsample_li
- Java数据结构的实现
绝域时空
Java语言(IDEA)链表数据结构java
文章目录一、Java数据结构二、数据结构之数组和链表(Java语言描述)1、Java数组1.初始化数组2.直接赋值3.可变数组2、链表1.节点定义2.实例化节点三、数据结构之树和图(Java语言描述)1、树和图2、树1.树的节点创建2.创建树3、图1.邻接矩阵创建图2.邻接表创建图四、数据结构之散列表和堆(Java语言描述)1、散列表(hash表)和堆2、散列表(hash表)3、堆五、数据结构之栈
- iOS 遍历数组的同时删除元素问题
selice
原文链接:https://blog.csdn.net/u011619283/article/details/53135502本文转选自:版权声明:本文为CSDN博主「Haley_Wong」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。我们在遍历可变数组时,最好不要做删除数组中元素的操作。因为删除操作可能会引起数组容量的变化,导致数组越界等问题。以前在使用for循环遍
- NSArray与NSMutableArray用copy修饰还是strong
adaodao3056
一、NSMutableArray被copy、strong修饰后的变化:把NSMutableArray用copy修饰有时就会crash,因为对这个数组进行了增删改操作,而copy后的数组变成了不可变数组NSArray,没有响应的增删改方法,所以对其进行增删改操作就会报错。举例如下:(1)copy:@property(nonatomic,copy)NSMutableArray*a;NSMutableA
- Rust语言之集合
名为逗比
Rustrust开发语言后端
文章目录一、元组(tuple)1.元组定义2.元组使用解构索引3.元组修改非可变元组可变元组类型不一致二、数组1.数组不可变数组定义可变数组定义数组使用数组修改数组的遍历2.动态数组-向量(Vector)向量定义向量遍历向量追加向量插入向量删除remove方法pop方法-删除最好一个元素truncate方法-缩减向量clear方法-清空向量drain方法-删除范围内向量向量排序sort方法sort
- java遍历范型list_黑马程序员--Java基础学习笔记【集合-List、泛型】
weixin_39558221
java遍历范型list
集合框架Collectionjava.util(interface)集合只能存储引用类型,存储对象,不存储基本类型,长度可变数组存储基本类型,存储对象,长度固定集合中存储的都是引用类型的元素,那么引用类型变量实际上存储的是对象的“地址”,所以实际上集合只存储了元素对象在堆中的地址,而并不是将对象本身存入了集合中。Collection接口是层次结构中的根接口,定义了集合相关的操作方法。其有两个子接口
- 典型数据结构的模板实现
有理想的打工人
c++数据结构c++算法
栈和数组1.使用类模板实现数组结构定长数组(未完待续..)可变数组2.使用类模板实现栈结构在我们初步了解编写模板类后,应当做一下代码练习。这节我们就做一个编写代码的补充,方便大家继续学习模板类的嵌套。作为新手而言,建议大家先写一个具体类,调试好后再去修改成模板类,因为调试模板类会相对复杂。1.使用类模板实现数组结构数组是我们常用的一种数据类型,我们今天的内容就先从编写一个数组类模板开始。数组有定长
- 学习笔记:可变数组。
_烟雨画桥_
学习
/*函数:Arrayarray_create(intinit_size);//创建一个数组voidarray_free(Array*a);//回收这个数组intarray_size(constArray*a);//表示数组的大小int*array_at(Array*a,intindex);//访问数组的某个单元voidarray_inflate(Array*a,intindex);//使数组的大小
- 学习笔记——线性表:顺序结构
_烟雨画桥_
学习c语言
——请先看图5秒以维持良好心情线性表:顺序结构一介绍二步骤1.头文件2.枚举线性表的状态与定义线性表的类型3.建立线性表的结构声明4.函数声明5.主体6.为线性表分配存储空间7.线性表扩大总存储空间,与可变数组类似8.销毁线性表9.使线性表的使用空间变为010.判断线性表的储存状态11.(为了方便理解所设置的函数)读出该位置数据12.搜索数据的位置13.线性表插入操作14.删除某一位置的数据15.
- Scala-数组、映射
数据萌新
1、数组1)、创建数组创建定长数组和长度可变数组//创建定长数组,使用new关键字,指定数组泛型为Int,长度为5,默认会初始化这5个值为指定类型的默认值,比如Int的话则5个默认值都是0//注意:如果new,相当于调用了数组的apply方法,直接为数组赋值scala>valarr=newArray[Int](5)arr:Array[Int]=Array(0,0,0,0,0)//修改数组元素的值s
- c语言-柔性数组初始化
zmnbehappy
编程c语言
起因在做项目时,遇到相似结构,差异在一个成员,这个成员想表达可变数组,数据结构如下structA{intlen;floate[10];};structB{intlen;floate[20];};目的:合并两个结构,用同一个结构表达初始化变量,或数组测试首先合并AB两个结构不难,可以使用柔性数组structAB{intlen;floate[];};这样可以初始化成员structABvar={1,{3
- 研发日记,Matlab/Simulink避坑指南(九)——可变数组应用Bug
Mr.Cssust
Matlab/SimulinkmatlabSimulink编程语法可变数组内存管理Bug优化
文章目录前言背景介绍问题描述分析排查解决方案总结归纳前言见《研发日记,Matlab/Simulink避坑指南(四)——transpose()转置函数Bug》见《研发日记,Matlab/Simulink避坑指南(五)——CAN解包DLCBug》见《研发日记,Matlab/Simulink避坑指南(六)——字节分割Bug》见《研发日记,Matlab/Simulink避坑指南(七)——数据溢出钳位Bug
- lightdb plorasql集合类型新增可变数组
bit-byte
lightdblightdb数据库
文章目录背景集合类型可变数组可变数组示例背景在信创适配中,从Oracle迁移过来的存储过程使用到可变数组。因此在LightDB-X23.4版本中对现有的集合类型进行了增强,添加了可变数组类型。集合类型在LightDB-X23.4版本开始plorasql支持的集合类型同Oracle一致,覆盖了关联数组,可变数组和嵌套表三种类型,支持的方法如下DELETE从集合中删除元素。EXTEND将元素添加到集合
- 从字符数组中去重复
andy_tu
NSArray*array=@[@"12-11",@"12-11",@"12-11",@"12-12",@"12-13",@"12-14"];//方法1重新创建一个可变数组,把数组的值一个个往可变数组加,如果不存在就加,存在就不加NSMutableArray*copyArray=[NSMutableArrayarray];for(NSString*strinarray){if(NO==[copyA
- 小蓝书第一章总结
菜的不敢吱声
ios
小蓝书第一章总结熟悉Objective-c了解objective-c的起源在类的头文件中尽量少引入其他头文件多用字面量语法,少用与之等价的方法字面数值字面量数组字面量字典可变数组与字典局限性多用类型常量,少用#define预处理命令用枚举表示状态,选项,状态码熟悉Objective-c了解objective-c的起源oc语言是c语言的超集,在语法上和c++十分相似,都是面向对象的语言;oc使用的是
- 【学习iOS高质量开发】——熟悉Objective-C
不会敲代码的VanGogh
iosobjective-c学习
文章目录一、Objective-C的起源1.OC和其它面向对象语言2.OC和C语言3.要点二、在类的头文件中尽量少引用其他头文件1.OC的文件2.向前声明的好处3.如何正确引入头文件4.要点三、多用字面量语法,少用与之等价的方法1.何为字面量语法2.字面数值3.字面量数组4.字面量字典5.可变数组和字典6.局限性7.要点四、多用类型常量,少用#define预处理指令1.类型常量与#define2.
- 研发日记,Matlab/Simulink避坑指南(三)——向上取整Bug
Mr.Cssust
Matlab/SimulinkmatlabSimulink数据处理整除取余
文章目录前言背景问题排查解决总结前言见《研发日记,Matlab/Simulink避坑指南(一)——DataStoreMemory模块执行时序Bug》见《研发日记,Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》背景在一个嵌入式软件项目中,需要对一个可变数组进行数据处理。要求是原始数据相邻四个合并在一起,在这个算法中需要对原始可变数组的lengh除4后向上取整。算法的思路是,l
- 《洛谷深入浅出进阶篇》简单数据结构
louisdlee.
数据结构
本篇文章内容如下,请耐心观看,将持续更新。简单数组简单栈简单队列简单链表简单二叉树简单集合图的基本概念二叉堆线段树树状数组与字典树线段树进阶简单数组:STL可变数组vector"我们首先要知道这个容器有什么特性,然后它是咋创建的、然后要知道这个东西最常见的功能,访问,查找,删除,修改,添加……是如何实现的。再接着,我们尽可能了解一些这个容器的常见函数的使用,还要知道它的时间复杂度。那么这个容器,你
- 数组常用方法
习惯了_就好
//创建集合//NSArray是不可变数组,一旦创建完成就不能对数组进行添加删除等操作NSArray*array=[[NSArrayalloc]init];NSLog(@"%@",array);//通过构造方法创建一个NSArray,在创建一个NSSArray的时候,集合的最后一个元素一定是nilNSArray*array1=[NSArrayarrayWithObjects:@"a",@"b",@
- 浅谈一种规避iOS多线程Crash的方案
酷爽
iOS
一般来说,多线程编程因具有以下几个优点,一直被广泛应用:资源利用率更好程序设计在某些情况下更简单程序响应更快但是因为多线程而导致的crash问题,也是令程序员非常头疼的一个问题,因为线程调度执行顺序的不确定性,造成了crash一般都是小概率出现,在开发测试阶段很难发现,而一旦上线面对用户,造成的影响却是不容小觑的。一、Crash的场景有一种特别常见的会造成crash的场景为:多线程读写可变数组/字
- iOS KVO监听可变数组变化
野生塔塔酱
有时候我们会想监听一个可变数组的变化来执行一些操作但是直接监听当前ViewController中的数组不管是count还是lastObject等都会导致崩溃所以需要一些其他操作来达到目的第一步我们需要把数组包装一层不需要另外单独写一个类直接写在需要监听的ViewController中即可(可以写在ViewController的@interface之上方便查看)@interfaceArrayMode
- scala----数组操作(1)-可变与不可变
芝士小熊饼干
scala开发语言
一,不可变Arraypackagescala07objectscala01_Array{defmain(args:Array[String]):Unit={//TODO可变不可变指的是集合的长度和集合的数据类型//不可变数组//声明一个不可变数组//方式一:动态方式//valints=newArray[Int](5)//[类型](长度)valints1:Array[Int]=Array(1,2,3
- Java数据结构-栈、队列常用类(Stack、ArrayDeque、LinkedLList)
城南皮卡丘
#Java数据结构与算法数据结构链表
数据结构的三要素包括:逻辑结构、存储结构、数据的运算。逻辑结构描述的是数据之间的逻辑关系,分为线性结构(线性表(数组、链表)、栈、队列)和非线性结构(图、树、集合)。物理结构也称为存储结构(顺序存储、链式存储、索引存储、散列存储)。常见的数据结构分为线性数据结构和非线性数据结构,包括:数组、链表、栈、队列、树、图、散列表等。在Java中,数组这种数据结构有专门的实现:不可变数组(int[]arra
- OC学习笔记--基础篇
prician
iOSiosobjective-c
本文简要介绍了一些oc的基础类型,包括数组、字典、字符串、消息传递、类、对象、方法、属性、协议和转发,希望对你有帮助。OC数据类型打印—类似printNSlog(@"helloword");数组NSMutableArray(可变数组)和NSArrayNSArray*names=[[NSArrayalloc]initWithObjects:@"frank",@"duck",@"monkey",nil
- 柔性数组(结构体成员)
加油=^_^=
柔性数组c语言
目录前言:柔性数组:给柔性数组分配空间:调整柔性数组大小:柔性数组的好处:前言:柔性数组?可能你从未听说,但是确实有这个概念。听名字,好像就是柔软的数组,是不是意味着这个数组大小是可以变化的?但是不是只有C99才有可变数组吗?别急,往下看(注:此章节涉及动态内存知识,详情请看:动态内存函数-CSDN博客)。柔性数组:柔性数组是在结构体中使用的,就是说可以不指定数组元素内容,但前面必须至少有一个明确
- scala数据结构与可变不可变
机器不能学习
数组:可变与不可变不可变数组是指数组的长度是不可变的,但是数组对应的元素是可变的可变数组的长度和元素都可以改变不可变数组valarr=Array(1,2)完成初始化,且限定长度为2valarr=ArrayInt长度为5的Int类型数组valarr=arr++arr1只是通过显示申明过类型的数组才可以进行该操作,不然报类型不匹配错误可变数组valc=scala.collection.mutable.
- 数组遍历的同时删除元素
一抹相思泪成雨
NSArray*tempArray=@[@"A",@"A",@"B",@"C",@"D",@"A"];NSMutableArray*dataArray=[NSMutableArrayarrayWithArray:tempArray];正序遍历方式一,使用forin遍历可变数组的同时删除元素会造成崩溃:for(NSString*objindataArray){if([objisEqualToStri
- 【Scala】Scala中的一些基本数据类型的特性 列表、元组、构造器、单例对象、伴生类、伴生对象、抽象类与特质
冲鸭嘟嘟可
scala开发语言后端
列表使用List(“”,“”,“”)去声明sliding和groued表示迭代器valiter=List("Hadoop","Spark","Scala")sliding2//sliding和groued是有区别的while(iter.hasNext){println(iter.next())}for(elem<-iter){println(elem)}可变数组defmain(args:Array
- 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独立出来,数据持