- SpringBoot使用@Slf4j注解实现日志输出
pan_junbiao
SpringBoot我の原创springbootjavaspring
日志框架的使用,系列文章:《SpringBoot使用Logback日志框架与综合实例》《SpringBoot使用@Slf4j注解实现日志输出》《Log4j2日志记录框架的使用教程与简单实例》《SpringBoot使用AspectJ实现AOP记录接口:请求日志、响应日志、异常日志》《SpringBoot使用AspectJ的@Around注解实现AOP全局记录接口:请求日志、响应日志、异常日志》@Sl
- C#实现AES-CBC加密工具类(含完整源码及使用教程)
WangMing_X
C#实现各种功能工具集c#AES-CBC加密
一、AES-CBC加密应用场景AES(AdvancedEncryptionStandard)作为全球公认的安全加密标准,广泛使用在以下场景:API通信加密:保护HTTP接口传输的敏感数据(如身份令牌、支付信息)文件安全存储:加密本地配置文件、数据库连接字符串等用户隐私保护:加密存储密码、身份证号等PII(个人身份信息)跨平台数据交换:与Java/Python等其他语言实现的加密系统互通物联网设备通
- Maven的安装配置
2301_82243979
作者\/mavenjava
(注:文章是前段时间写的忘记发了,防止丢失在此记录一下)Maven是Apache下的纯Java开发的开源项目,是一个项目管理工具,使用Maven对项目进行构建,依赖管理。依赖管理就是一个项目中要使用第三方jar包才可以运行。Maven正是对这些jar包进行规范化管理,所以在Maven的项目中只需要在pom.xml中添加jar包的坐标,自动从Maven仓库中下载jar包,运行即可。Maven项目对比
- 微信小程序点餐系统的设计与实现(开题报告+源码+论文)_在线点餐外卖系统设计与实现文献
2301_82243979
程序员微信小程序小程序
二.技术环境jdk版本:1.8及以上ide工具:Eclipse或者IDEA,微信小程序开发工具数据库:mysql5.7(必须5.7)编程语言:Javajava框架:ssmmaven:3.6.1详细技术:HTML+CSS+JAVA+SSM+MYSQL+VUE+MAVEN+微信开发工具三.功能设计本基于微信小程序的外卖点餐系统的设计与实现有管理员,外卖员,餐厅,用户共四个角色。管理员功能有个人中心,外
- 使用Nexus从私服上传和下载依赖
北省1332
java服务器
从私服中下载依赖【第一步】在maven的settings.xml中标签中配置,此时就需要注释掉aliyun的配置。nexus-heima*http://localhost:8081/repository/maven-public/【第二步】在nexus中设置允许匿名下载,如果不允许将不会从私服中下载依赖如果私服中没有对应的jar,会去中央仓库下载,速度很慢。可以配置让私服去阿里云中下载依赖。从私服
- IDEA项目maven project没有出现plugins和Dependencies
冬瓜生鲜
IDEAMaven
背景:今天学习Springboot,但是用的apache-maven3.0,导入springboot1.5.19,Maven项目老是爆红线,还没有plugins和Dependencies方案一:方案二:jdk+SpringBoot+maven版本不对《我把maven版本换高,就成功解决了》Springboot版本SpringFrameworkjdk版本maven版本1.2.0版本之前63.01.2
- VSCode SSHFS 扩展使用教程
史跃骏Erika
VSCodeSSHFS扩展使用教程vscode-sshfsExtensionforVisualStudioCode:FilesystemproviderusingSSH项目地址:https://gitcode.com/gh_mirrors/vs/vscode-sshfs1.项目介绍VSCodeSSHFS是一个用于VisualStudioCode的扩展,允许用户通过SSH协议将远程文件系统挂载为本地
- Java短信模块开发-腾讯云短信服务
Hbb123654
腾讯云java
1、提前配置1、已有腾讯云账号和服务器2、开通短信服务,创建签名和模板并通过审核,如:国内短信快速入门3、需要先购买国内短信套餐包。4、在访问管理控制台>API密钥管理页面获取SecretID和SecretKey。5、安装最新版本的Maven依赖com.tencentcloudapitencentcloud-sdk-java3.1.10002、Java代码逻辑实例1、短信工具类方法/***Tenc
- DevOps工具链
zhangpeng455547940
devops运维
DevOps工具链的核心组成部分包括:代码编辑和版本控制工具svn、git自动化构建工具Jenkins、GitLabCI/CD、TravisCI持续集成和持续部署工具Jenkins、Ansible容器编排工具K8S、DockerSwarm持续监控工具Prometheus,Grafana,InfluxDB服务配置管理工具Ansible,Chef,PuppetGit:代码管理Maven:依赖管理、项目
- pinia使用教程以及pinia-plugin-persistedstate持久化插件——uniapp
十五春会
uni-app前端javascript
piniastore定义optionimport{defineStore}from'pinia'//你可以任意命名`defineStore()`的返回值,但最好使用store的名字,同时以`use`开头且以`Store`结尾。//(比如`useUserStore`,`useCartStore`,`useProductStore`)//第一个参数是你的应用中Store的唯一ID。//第二个参数可接受
- 基于netty手写Tomcat
Aiden_Coding
nettyjavanettyspringtomcat
基于netty手写Tomcatnetty简介1.环境准备2.基于传统I/O手写Tomcat3.基于netty手写Tomcat4.访问netty简介Netty一个基于NIO的客户、服务器端的编程框架1.环境准备maven依赖io.nettynetty-all4.1.42.FinalRequestMethodEnum请求方式publicenumRequestMethodEnum{GET("GET"),
- FastAPI 使用教程:将函数改造成可调用的 API(附完整示例)
Lunar*
开发与工具使用fastapi
引言FastAPI是一个现代化、快速(高性能)、基于标准Python类型提示构建的Web框架,非常适合开发RESTfulAPI。如果你有现成的Python函数,并希望通过HTTP请求调用它,FastAPI可以帮助你快速实现。在本文中,我们将介绍如何使用FastAPI将已有函数改造成API,并通过GET和POST请求调用它。同时,我们还会展示如何在服务运行时,自定义主机地址、端口号以及启用SSL证书
- Spring学习之路:环境搭建、核心API与配置文件细节
qq_44766305
Springspringjava后端
1.软件版本1.JDK1.8+2.Maven3.5+3.IDEA2018+4.SpringFramework5.1.5官方网站www.spring.io2.环境搭建Spring的jar包#设置pom依赖可以去Maven中央仓库org.springframeworkspring-context5.1.4.RELEASESpring的配置文件1.配置文件的放置位置:任意位置,没有硬性要求2.配置文件命
- winpython使用教程-winpython是什么
weixin_37988176
WinPython是一个免费的开源可移植的Python编程语言发行版,适用于Windows7/8/10和科学及教育用途。它是一个功能齐全的基于python的科学环境:●专为科学家、数据科学家和教育设计(感谢NumPy、SciPy、y、Matplotlib、panda、pyqtgraph等):使用Python与Spyder和Jupyter/IPython、Pyzo、IDLEX或IDLE进行交互数据处
- Spring Boot项目中集成阿里云短信服务
山高自有客行路
#Springbootspringboot阿里云后端
1.导入阿里云依赖首先,在你的pom.xml文件中添加阿里云短信服务的Maven依赖:com.aliyundysmsapi201705252.0.24确保你已经包含了其他必要的依赖,如MySQL驱动和MyBatis:mysqlmysql-connector-javaruntimeorg.mybatis.spring.bootmybatis-spring-boot-starter2.2.0org.p
- Spring Boot集成EasyExcel
山高自有客行路
#Springbootspringboot后端
1.初始化SpringBoot项目首先,使用SpringInitializr(https://start.spring.io/)生成一个基本的SpringBoot项目。选择以下依赖项:SpringWebLombok(用于减少样板代码)SLF4J(用于日志记录)2.添加依赖在你的pom.xml文件中添加EasyExcel的Maven依赖。确保版本号是最新的,你可以访问Maven仓库来获取最新版。co
- RocketMQ开发实战篇
Jeremy_1022
RocketMQrocketmq
一、生产者开发指南1.JavaAPI使用详解在使用RocketMQ进行消息生产时,首先需要引入相关的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖:org.apache.rocketmqrocketmq-client4.9.0接下来,创建一个简单的生产者示例:importorg.apache.rocketmq.client.producer.DefaultMQProducer;i
- 【 Fail2ban 使用教程】
D-river
linux安全web安全网络网络安全
Fail2ban使用教程1.安装Fail2ban2.配置Fail2ban2.1创建`jail.local`文件2.2基本配置参数说明2.3配置具体服务的监控规则2.3.1SSH服务2.3.2Apache服务3.启动和管理Fail2ban3.1启动Fail2ban服务3.2设置Fail2ban开机自启3.3检查Fail2ban服务状态3.4重新加载配置文件4.查看和管理封禁列表4.1查看当前封禁的I
- Java后端开发规范
糖心何包蛋爱编程
java开发语言
在Java后端开发中,遵循一套明确的规范和最佳实践是非常重要的,这不仅可以提高代码的质量和可维护性,还可以促进团队协作和项目的长期发展。因此,对于有志于学习Java语言的朋友而言,从学习初期便着力培养良好的代码编写习惯,是通往成功掌握这门语言的关键一步。一、开发环境1.Java82.IntelliJIDEA二、Java命名1.maven模块名小写,多个单词使用-连接。正确:example-moud
- 使用 OkHttp 与 FastJSON 发送 POST 请求
李少兄
Javaokhttpjava
目录前言一、依赖配置Maven依赖配置Gradle依赖配置二、常量定义三、学生对象定义四、常规情况:发送单个学生信息代码实现代码解释五、多线程情况:发送多个学生信息线程池基础知识代码实现代码解释六、注意事项和优化建议常规情况异步请求处理多线程情况前言在现代Java开发中,与外部服务进行数据交互是极为常见的需求。其中,发送HTTPPOST请求以提交数据更是屡见不鲜。OkHttp作为一款高效且功能强大
- jar打包成docker镜像
黄铜小马
springbootdockerjar容器
一、将maven文件打包成文件二、上传jar包并打包镜像[root@VM-8-8-centoslocal]#mkdirdocker[root@VM-8-8-centoslocal]#mvHelloDocker-0.0.1-SNAPSHOT.jardocker/[root@VM-8-8-centoslocal]#ll[root@VM-8-8-centosdocker]#vimDockerfile#D
- 升级JDK11 Maven依赖
IOT_player
JDK11后端mavenjavajdk11java11
本文涉及修改pom的内容无先后顺序无依赖关系。涉及修改的依赖:中新增1111...lombok升级至1.18.4后的版本,如1.18.22jacoco升级至0.8.2后的版本,推荐0.8.3maven-surefire-plugin升级至3.0.0-M1后的版本,如3.0.0-M5maven-compiler-plugin升级至3.8.0后的版本,如3.8.1,同时修改configurationr
- Anaconda与Jupyter Notebook入门级详细使用教程_anaconda jupyter notebook
2401_84165919
程序员jupyteridepython
Anaconda简介我们用Anaconda发行版作为Python的使用环境。Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。注意:anaconda就安装了python,不需要额外另装pythonAnaconda支持Linux,Mac,Windows,包含了众多流行的科学计算、数据分析的Python包。Anaconda和Jupyte
- 解决 java.lang.RuntimeException: org.codehaus.plexus.component.repository 错误的全面指南
梦幻南瓜
javajava开发语言
java.lang.RuntimeException:java.lang.RuntimeException:org.codehaus.plexus.component.repository是一个常见的错误,通常与Maven构建工具相关。这个错误可能由多种原因引起,例如依赖冲突、插件配置错误或POM文件中的问题。以下是一些可能的原因和解决方法:1.依赖冲突Maven项目中的依赖冲突是导致此错误的常见
- 如何部署Java应用到服务器
DKPT
#软件开发服务器环境搭建服务器服务器
准备工作:确保服务器上安装了Java运行环境(JRE或JDK)。安装Web服务器,如ApacheTomcat、Jetty或WildFly。配置服务器网络,确保可以远程访问。打包Java应用:使用IDE(如IntelliJIDEA或Eclipse)或构建工具(如Maven或Gradle)将Java项目打包成WAR或JAR文件。上传应用到服务器:使用FTP、SCP或其他文件传输工具将打包好的文件上传到
- Ranger集成CDH6.3.1详细步骤
sunxunyong
hadoop
CDH-ranger基础环境:jdk:1.8maven:mvn-verisonApacheMaven3.9.4brewsearchbzip2brewinstallbzip2brewlistyuminstallgit-yyuminstall-ypython3yuminstall-ybzip2yum-yinstallfontconfig-develpip3installrequests下载ranger
- Ranger 2.1.0集成Trino
玄慈
rangertrinocdhjavacloudera大数据
Ranger2.1.0与trino359集成一、基础环境jdk-11.0.12Maven3.6.1Git最新版二、下载ranger2.1.0源码下载之后的目录为ranger-6.3.4本文目录地址是/grid/dfs0/code/ranger-6.3.4三、修改pom.xml修改控制组件版本的pom.xmlranger-6.3.4/pom.xml一、presto的版本号改成359359二、更改组件
- Rule-Engine 使用介绍
zru_9602
javajava前端数据库
Rule-Engine使用介绍1.概述Rule-engine是一个功能强大的规则引擎框架,用于处理复杂的业务逻辑。它通过将规则与代码解耦,使得规则的维护更加灵活和高效。无论是简单的条件判断,还是复杂的商业逻辑,rule-engine都能提供高效的解决方案。2.安装与配置2.1引入依赖在Maven项目中,可以通过添加以下依赖来引入rule-engine:com.examplerule-engine1
- Pandas使用教程 - Pandas 与 SQL 数据库交互
闲人编程
Pandas使用教程数据库pandassql数据分析存储加载数据
目录进阶篇40.Pandas与SQL数据库交互1.引言2.数据读取:从SQL加载数据2.1使用pd.read_sql()示例:使用SQLAlchemy连接SQLite数据库2.2使用pd.read_sql_table()3.数据写入:将DataFrame写入SQL数据库3.1使用DataFrame.to_sql()示例:写入数据到SQLite数据库4.数据库连接与SQLAlchemy4.1使用SQ
- Maven-工作原理详解
凡尘技术
Javamavenjava
文章目录概述Maven的工作机制Maven中的坐标说明坐标的向量的取值方式坐标和仓库中jar包的存储路径之间的对应关系命令深入POM含义模型化思想思想落地POM文件详解POM的四个层次超级POM父POM有效POMPOM中属性的声明和引用help插件的各个目标help:evaluate访问系统属性help:evaluate访问环境变量help:evaluate访问project属性help:eval
- 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独立出来,数据持