- MyBatis 详解
云之兕
Mybatismybatisjava开发语言
1.什么是MyBatis?MyBatis是一款优秀的持久层框架,它通过XML或注解配置,将Java对象(POJO)与数据库操作(SQL)进行灵活映射,简化了JDBC的复杂操作。核心思想:SQL与代码分离,开发者可专注SQL优化,同时享受ORM(对象关系映射)的便捷。定位:介于JDBC和全自动ORM(如Hibernate)之间的半自动化框架,灵活控制SQL,适合复杂查询和高性能场景。2.核心特性特性
- kuangbin 最小生成树专题 - POJ - 2421 Constructing Roads (朴素 Prim算法 模板题)
会划水才能到达彼岸
最小生成树专题kuangbin题单算法图论c++数据结构树结构
kuangbin最小生成树专题-POJ-2421ConstructingRoads(朴素Prim算法模板题)英文版Clickhere~~意译版Clickhere~~总题单week3[kuangbin带你飞]题单最小生成树+线段树Clickhere~~https://blog.csdn.net/m0_46272108/article/details/108980362英文版Clickhere~~De
- Spring MVC 框架
离别情诗雨
springmvcjava
1.MVC模式MVC模式代表Model-View-Controller(模型-视图-控制器)模式,是一种用于应用程序分层开发的软件设计典范。MVC模式通过将业务逻辑、数据与界面显示分离,使得应用程序的开发和维护变得更加容易。Model(模型):模型代表一个存取数据的对象或JavaPOJO(PlainOldJavaObject),是业务逻辑的载体。模型拥有最多的处理任务,被模型返回的数据是中立的,与
- 概率DP总结 入门12题+论文合集
VampireWeekend
概率/期望总结
论文合集算法合集之《浅析竞赛中一类数学期望问题的解决方法》有关概率和期望问题的研究算法合集之《信息学竞赛中概率问题求解初探》题目合集概率DP-VJudge1.POJ3744ScoutYYFI概率入门题,由于n很大需要用到矩阵快速幂。题解传送门2.POJ3071Football
- Mybatis的工作原理和执行流程
敲一个代码掉一根头发
mybatisspringsqlintellij-ideadba
Mybatis的工作原理和执行流程什么是Mybatis?MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java对象)为数据库中的记录。一、Mybatis工作原
- java项目的常用目录列表
可爱的小小小狼
javaspringjava数据库开发语言
POJO全称为:PlainOrdinaryJavaObject,即简单普通的java对象。一般用在数据层映射到数据库表的类,类的属性与表字段一一对应。PO全称为:PersistantObject,即持久化对象。可以理解为数据库中的一条数据即一个PO对象,也可以理解为POJO经过持久化后的对象。DTO全称为:DataTransferObject,即数据传输对象。一般用于向数据层外围提供仅需的数据,如
- 【java】 SpringFramework ———— 注入
菜鸟程序员丶
#JavaSpring框架
我们这次的目的有三个:1.组建Bean工厂(上下文,容器);2.能够对Bean的成员进行注入;3.能够取得Bean;Bean,又称JavaBean,或者说POJO,平凡的Java类。将这些平凡的Java类对象组织到一个容器中,就形成了所谓的“上下文”或“容器”,容器的形成需要配置手段,可以采用注解或者Xml文件的形式,在这里我们采用注解的形式。@Component//该注解用来表明该类为容器中的类
- MyBatis-Plus逆向工程
凸头
mybatisjava
1.逆向工程逆向工程(ReverseEngineering)是指从数据库表自动生成代码(如Java实体类、Mapper、Service、Controller等),从而减少重复编码工作,提高开发效率。在MyBatis-Plus中,逆向工程通常利用AutoGenerator自动生成代码。2.逆向工程的作用使用MyBatis-PlusAutoGenerator可以自动生成:POJO(实体类):与数据库表
- Spring Boot 项目中发布流式接口支持实时数据向客户端推送
非ban必选
SpringBootspringbootjavaspring
1、pom依赖添加org.springframework.bootspring-boot-starter-webflux2、事例代码packagecom.pojo.prj.controller;importcom.pojo.common.core.utils.StringUtils;importorg.springframework.http.MediaType;importorg.springf
- 图论基础整理
Chester_King
HDUPOJ搜索(DFS&BFS)水题最短路径
写在最前面:这是一篇很水很水的水博客,如果不无聊的同学就不要点进来了哈。我只是想记录一下今天复习的基础。1.POJ1125、POJ3615这两题都是非常水的floyd。前一题是求图上一节点,使得它到所有点的最大距离最小。显然只要floyd求所有点之间的最短路,然后枚举所有节点作为答案是否成立即可。后一题是更水的多源最短路,初学floyd的同学都能轻松水过。2.HDU2544、HDU1874、HDU
- 东哥算法课第二周习题——贪心+二分
瓜子精
算法
目录1.POJ1505CopyingBooks2.HDU1969Pie3.HDU4004TheFrog'sGame4.POJ3258RiverHopscotch5.POJ3104Drying1.POJ1505CopyingBooks原题链接:1505--CopyingBookshttp://poj.org/problem?id=1505大意:有n本不同页数的书要分给k个抄写员抄,每本书只能分配给一
- 数据结构与算法---学习规划
渣渣帅
算法数据结构
初期:一.基本算法:(1)枚举.(poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度优先遍历.(2)最短路径算法(dijkstra,bellman-ford,
- SSM阶段性总结
小安同学iter
SSM框架javatomcathibernatespringspringboot
0Pojo类前端给后端:DTO后端给前端:VO数据库:PO/VO业务处理逻辑:BO统称pojo1代理模式实现静态代理:1定义接口2实现类3写一个静态代理类4这样在调用时就可以使用这个静态代理类来实现某些功能实现动态代理1实现接口2实现类3写一个动态代理模块4可以使用通用方法(直接强转)实现AOP切面编程2事务事务四大特性(ACID)原子性定义:事务是最小操作单元,要么全部成功,要么全部失败回滚。关
- Spring Boot 自定义配置类(包含字符串、数字、布尔、小数、集合、映射、嵌套对象)实现步骤及示例
爱的叹息
SpringBootspringmvcJava基础整理springbootjavalinux
SpringBoot自定义配置类实现步骤及示例步骤说明创建配置类:定义一个POJO类,使用@ConfigurationProperties注解指定配置前缀。启用配置绑定:在启动类或配置类上添加@EnableConfigurationProperties注解。配置文件写法:在application.properties或application.yml中按前缀配置参数。注入配置类:通过@Autowir
- POJ 1321 棋盘问题 dfs
寻风度陌
DFSBFSPOJ1321棋盘问题dfs
棋盘问题TimeLimit:1000MSMemoryLimit:10000KTotalSubmissions:24577Accepted:12150Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据
- POJ1321 棋盘问题 dfs
大大的梦_小小的步伐
dfspoj
题目:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。INPUT:输入含有多组测试数据。每组数据的第一行是两个正整数,nk,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。n#include#definemaxn10cha
- Poj1321 棋盘问题 DFS
Megumin
搜索北大暑期学校
Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。每组数据的第一行是两个正整数,nk,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。n<=8,k<=n当为-1-1时表示
- Java Record 详解
禾小西
javapython前端
一、Record的诞生背景Java的Record(记录类)是Java14引入的预览特性,于Java16正式标准化。其设计初衷是简化不可变数据类的定义,解决传统POJO类中大量样板代码(如构造器、getter、equals、hashCode、toString等)的问题。例如,一个简单的Person类在传统写法中需要30+行代码,而用Record只需一行。传统类vsRecord类://传统POJO(3
- v3-10 前后端业务搭建Vue+SSM , 前后端交互原理(准备工作)
pingzhuyan
java框架思想实现vuejavajsssmelementui
目录01搭建前后端的框架vue+SSM1.1后端系统的搭建---->常规操作+导入pojo文件位置:------>导入pojo和vo层------>vo层具体作用:--->最后的结构所有操作流程图---->01---->02---->03切换端口号--->04启动前端vue操作:cmd+vueui--->05前端环境准备===>5-1检查前端路径vue项目路径===>5-2利用HbuilderX打
- DAO 类的职责与设计原则
绝顶少年
原型模式
1.DAO的核心职责DAO(DataAccessObject,数据访问对象)的主要职责是封装对数据的访问逻辑,但它与纯粹的数据实体类(如DTO、POJO)不同,也与Service业务逻辑层不同。DAO应该做什么?✅数据访问操作:执行数据库CRUD(增删改查)操作提供查询接口(如findById,findAll,save,delete)处理数据库事务(通常由@Transactional管理)✅数据转
- Spring Cloud RPC远程调用核心原理:代理模式与RPC客户端实现类
2401_85112749
springcloudrpc代理模式
{e.printStackTrace();}/***解析REST接口的响应结果,解析成JSON对象并且返回给调用者*/RestOutresult=JsonUtil.jsonToPojo(responseData,newTypeReference(){});returnresult;}//完成对REST接口api/demo/echo/{0}/v1的调用publicRestOutecho(String
- JavaEE基础知识学习-----Mybatis学习总结
四川码匠
Mybatisjavaee持久化
MyBatis简介MyBatis概述MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录.Mybatis与其他持久化方式对比MyBatis
- JavaRestClient操作Elasticsearch查询所有(match_all)
常家壮
#Elasticsearchelasticsearchjavaes搜索引擎
导包导包可以根据文档里导入依赖这里就不写依赖了查询所有importcom.google.gson.Gson;importcom.leyou.pojo.Item;importorg.apache.http.HttpHost;importorg.elasticsearch.action.search.SearchRequest;importorg.elasticsearch.action.search
- JavaRestClient操作Elasticsearch范围查询(range)
常家壮
#Elasticsearchelasticsearches搜索引擎
导包导包可以根据文档里导入依赖这里就不写依赖了范围查询(range)importcom.google.gson.Gson;importcom.leyou.pojo.Item;importorg.apache.http.HttpHost;importorg.elasticsearch.action.search.SearchRequest;importorg.elasticsearch.action
- springboot请求响应——响应
Hellyc
springboot后端java
packagecom.hxy.springboot.springbootdemo01.demo01;importcom.hxy.springboot.springbootdemo01.pojo.Result;importcom.hxy.springboot.springbootdemo01.pojo.User;importorg.springframework.format.annotation.
- VO、DTO、POJO、PO和DO 的区别
好似是故人
Java基础状态模式javaspring
在Java开发中,VO、DTO、POJO、PO、DO等概念经常被使用,它们的主要区别在于用途和设计目的。1.VO(ViewObject)——视图对象目的:用于前端展示,通常是后端返回给前端的数据格式。特点:只包含展示需要的字段,可能会组合多个实体的数据不包含业务逻辑可能用于接口返回值示例:publicclassUserVO{privateStringusername;privateStringem
- POJ 3190 Stall Reservations(牛棚挤奶问题)详细代码解读
寒风·长剑
算法学习贪心算法c++堆POJ3190
一.解题思路Step1:定义cow结构体Step2:定义stall结构体Step4:主函数4.1读取输入并存入cows向量4.2先排序cows4.3处理第一头牛4.4遍历剩下的牛4.5复用牛棚or创建新牛棚4.6输出结果二.详细代码解读#include#include#include#includeusingnamespacestd;constintMAXN=50005;//定义最大牛的数量,假设
- MyBatis——基于MyBatis注解的学生管理程序
基础较差的cs菜鸟
JavaEE实验mybatisjavamysql
MyBatis——基于MyBatis注解的学生管理程序Resourcedao层pojo层utils层测试层实验要求 本实验要求根据学生表在数据库中创建一个s_student表,根据班级表在数据库中创建一个c_class表,班级表c_class和学生表s_student是一对多的关系。实验内容表1学生表(s_student)学生编号(id)学生名称(name)学生年龄(age)所属班级(cid)1
- spring MVC 介绍
LCY133
spring后端springmvcjava
SpringMVC是Spring框架中用于构建Web应用的核心模块,基于MVC设计模式(Model-View-Controller)实现。以下是其核心概念的整理:1.MVC设计模式•Model(模型):封装业务数据和业务逻辑(如POJO对象、Service层)。•View(视图):负责数据展示(如JSP、Thymeleaf、HTML)。•Controller(控制器):接收请求,调用业务逻辑,返回
- spring5-介绍Spring框架
m0_74824845
面试学习路线阿里巴巴springjava后端
Spring框架是一个Java平台,它为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此您可以专注于应用程序的开发。Spring可以让您从“plainoldJavaobjects”(POJO)中构建应用程序和通过非侵入性的POJO实现企业应用服务。此功能适用于JavaSE的编程模型,全部的或部分的适应JavaEE模型。2.1依赖注入和控制反转Java应用程序-这是一个宽松
- 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独立出来,数据持