- mybatis架构原理
章绍龙
java基础
1、mybatis配置SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。SqlMapConfig.xml是mybatis的核心文件。mybatis将dao层与sql语句分离开来,虽然写的时候分离开来了,但是执
- Mybatis框架
蓝眸少年CY
#SSM框架mybatis
目录一、三层架构二、使用JDBC的缺陷三、快速入门1、概述2、解决的主要问题3、入门案例添加Maven坐标加入Maven插件编写Student实体类编写Dao接口StudentDao编写Dao接口Mapper映射文件StudentDao.xml创建MyBatis主配置文件创建测试类MyBatisTest配置日志功能insert操作(1)StudentDao接口中增加方法(2)StudentDao.
- 使用宝塔面板以jar包方式部署SpringBoot个人博客(以IP+端口号访问)
emmastone
部署springbootsshcentos服务器
使用宝塔面板以jar包方式部署SpringBoot个人博客购买阿里云服务器ECS在服务器端创建数据库修改SpringBoot项目的配置文件上传jar包和配置文件到服务器同一个目录下放行相关端口号首先需要在阿里云的控制台放行相关端口号然后在宝塔面板的安全放行相关端口号购买阿里云服务器ECS购买ECS服务器时,选择附带宝塔面板的,会默认安装好LAMP(Apache+Mysql+php),只需在安装to
- Centos常用命令,按功能分类,用户和权限管理等
ZHOUPUYU
资料分享centoslinux运维
CentOS是一个基于RedHatEnterpriseLinux(RHEL)的免费开源操作系统,稳定可靠,广泛应用于服务器环境。以下是一份CentOS使用教程及常用命令的总结,帮助你快速上手。由于篇幅限制,这里只涵盖常用命令和基本操作,更深入的学习需要参考CentOS官方文档和相关书籍。一、安装CentOSCentOS的安装过程与其他Linux发行版类似,通常包含以下步骤:下载镜像:从CentOS
- MyBatis框架
TuSi_Cat
框架mybatis开发语言javaspringmaventomcat
目录框架技术持久化与ORMMyBatis简介搭建MyBatis开发环境MyBatis框架优缺点MyBatis基本要素核心接口和类的结构核心对象SqlSessionFactoryBuilderSqlSessionFactorySqlSession系统核心配置文件配置properties元素配置properties元素的两种方式settings元素typeAliases元素environments元素
- Linux(Centos 7.6)命令详解:dos2unix
豆是浪个
linux运维服务器
1.命令作用将Windows格式文件件转换为Unix、Linux格式的文件(也可以转换成其他格式的)2.命令语法Usage:dos2unix[options][file...][-ninfileoutfile...]3.参数详解options:-c,--convmode,转换方式,支持ascii,7bit,iso,mac,默认为ascii-f,--force,强制转换二进制文件-k,--keepd
- deepin-grep详解:文本搜索的强大工具
deepin
在Linux系统中,grep命令是一个极其强大的文本搜索工具,广泛应用于文本处理、日志分析和数据筛选等场景。它的全称是“GlobalsearchREgularexpressionandPrintouttheline”,即全局搜索正则表达式并打印匹配的行。本文将详细介绍grep命令的基本用法、常用选项以及正则表达式的使用技巧。1.grep命令的基本功能grep命令的主要作用是从文本文件或管道数据流中
- Debian常用命令详解
-龙川-
介绍学习笔记debian
Debian是一个广泛使用的Linux发行版,以其稳定性和包管理系统的丰富性著称。对于新手和经验丰富的系统管理员来说,掌握常用的Debian命令至关重要。这篇文章将详细介绍Debian系统中常用的命令,包括文件和目录操作、软件包管理、用户和权限管理、系统监控和网络管理等多个方面。一、文件和目录操作1.ls-列出目录内容ls命令用于列出目录中的文件和子目录。ls常用选项:-l:以长格式显示详细信息。
- 【大模型】Spring AI对接ChatGpt使用详解
小码农叔叔
微服务治理与实战springboot入门到精通springspringaiAspringAispringai对接gptspringai整合gptspringai使用详解springai使用
目录一、前言二、springai介绍2.1什么是SpringAI2.2SpringAI特点2.3SpringAI为开发带来的便利2.4SpringAI应用领域2.4.1聊天模型2.4.2文本到图像模型2.4.3音频转文本2.4.4嵌入大模型使用2.4.5矢量数据库支持2.4.6用于数据工程ETL框架三、SpringAI对接ChatGPT3.1前置准备3.2添加依赖3.3接入流程3.3.1配置文件3
- deepin分享-Linux 磁盘分区和挂载指南
deepin
在Linux系统中(如deepin等),磁盘分区和挂载是系统管理的重要组成部分。了解如何进行分区、格式化和挂载操作,可以帮助你更好地管理磁盘空间,优化系统性能,并确保数据的安全存储。本文将详细介绍Linux磁盘分区和挂载的基本概念、操作步骤以及一些实用的命令。1.基本概念Linux系统采用了一种独特的文件系统结构,无论系统中有多少个分区,它们最终都归属于一个根目录(/),形成一个统一的文件系统。每
- MySQL--mysqld、mysql_safe、mysql.server、mysqladmin几种启动和停止服务使用说明
m0_74823683
面试学习路线阿里巴巴mysqladbandroid
您好,我是贾斯汀,欢迎进来学习的小伙伴~【学习背景】本文对Linux下启动和停止mysql服务最常用的几种方式进行讲解:(1)mysqld(2)mysqld_safe(3)mysql.server(4)mysqladmin关于这几种文件和命令对mysql服务的启动和停止的使用,本文会分别进行介绍,还有一些关键的事项,比如生产环境对于MySQL服务的启动和停止是非常谨慎的一件事,不是每一种方式都适合
- Linux操作系统配置Mysql环境变量
MySQL冲冲冲
linuxmysql运维
安装好了mysql之后,在linux服务器上使用mysql-uroot-p命令登录mysql数据库,出现:-bash:mysqlcommandnotfound;再使用mysql--V报同样的问题。需要配置mysql环境变量,过程如下:1.找到mysql安装路径:先执行:find/|grepbin/mysql出现一些安装路径后,用安装路径-V,如果能输出mysql版本,那么该路径就是mysql的安装
- 【微服务】Spring AI 使用详解
逆风飞翔的小叔
精通springboot微服务SpringAISpringAI使用详解SpringAI使用
目录一、前言二、SpringAI概述2.1什么是SpringAI2.2SpringAI特点2.3SpringAI带来的便利2.4SpringAI应用领域2.4.1聊天模型2.4.2文本到图像模型2.4.3音频转文本2.4.4嵌入大模型使用2.4.5矢量数据库支持2.4.6数据工程ETL框架三、SpringAI对接ChatGPT3.1前置准备3.2添加必要的依赖3.3接入操作流程3.3.1配置文件3
- python中graphviz 参数_python graphviz的使用(画图工具)
weixin_39900608
python中graphviz参数
一、graphviz安装及配置graphviz实际上是一个绘图工具,可以根据dot脚本画出树形图等。1、windows安装配置环境变量:把bin文件夹的路径加入到环境变量path里安装python的graphviz模块:pipinstallgraphviz2、linuxcentos7安装yum下载graphviz软件:yum-yinstallgraphviz安装python的graphviz模块:
- 关于Linux(Centos7)的静态IP地址配置操作
为已己任
Linux配置篇linuxcentos网络
Centos7-静态IP地址设置1、内容概述2、环境介绍3、操作步骤3.1、编辑网口配置文件3.2、进入网口配置文件3.3、修改网口配置文件内容3.3.1、静态IP设置3.3.2、自动激活网络3.4、添加配置内容3.4.1、添加IP信息3.4.2、添加网关信息3.4.3、添加掩码信息3.4.4、添加DNS地址3.5、操作结果内容4、重启网络5、检查修改情况6、检查网络情况7、总结1、内容概述关于在
- NGINX 报错 413 Request Entity Too Large 解决方案
技术探索者
NGINXnginx
1、问题原因用Nginx反向代理服务器,进行附件相关的操作时,当文件大小超过1M,会出现413RequestEntityTooLarge,这是由于nginx客户端默认的最大请求体是1M。2、解决方案通过修改Nginx配置文件的“client_max_body_size”属性来解决。nginx的默认配置文件是conf目录下的nginx.conf。注意:如果有自行扩展的配置文件可在nginx.conf
- Python: 修改源 知多少
技术探索者
#pythonpython开发语言
一.Windows源在Windows中使用Python修改源,需要通过修改pip配置文件或者使用pip命令直接指定源来实现。1.修改pip配置文件Windows用户通常在以下路径中找到pip配置文件%APPDATA%\pip\pip.ini注意:如果不存在的话,可以手动创建这个文件夹和文件。然后在pip.ini文件中添加以下内容,将源修改为你想要的源:[global]index-url=https
- Linux基础3
2301_78560796
linux运维服务器
VIM编辑器1.命令模式gg:移动光标到第一行G:移动光标到最后一行$:移动光标到当前行的行尾(最后一行),一般可以使用shift+$o:移动光标到当前行的行首(第一列)x:删除当前光标所在处的一个字符nx:删除当前光标所在处以及后面共n个字符X:删除当前光标的左边一个字符D:删除当前光标至行尾:dd:删除当前光标所在行ndd:删除当前光标所在后面共n行,注意n是数字键dG:删除当前光标所在行至文
- xargs命令工具
难以触及的高度
linux服务器前端
`xargs`是一个强大的Unix/Linux命令行工具,用于构建和执行命令行。它可以从标准输入读取数据,并将其作为参数传递给其他命令。`xargs`提供了多个选项来控制其行为,以下是对你提到的几个选项的详细解释:1.`-nmax-args`含义:指定每次调用命令时传递的最大参数数量(即每个命令行中包含的参数个数)。示例:假设你有一个文件列表,并希望每次只处理一个文件,可以使用`-n1`。find
- C语言实现静态IP地址,子网掩码,网关的设置
zhengyuquan
android网络静态IP地址子网掩码网关的设置
以下内容均搜集于网络。一、linux下C语言实现静态IP地址,子网掩码,网关的设置#include#include#include#include#include#include#include#includeintset_ifaddr(char*ifname,char*Ipaddr,char*mask,char*gateway){intfd;intrc;structifreqifr;struct
- 5分钟搞懂 Golang 堆内存
程序员
本文主要解释了堆内存的概念,介绍了Linux堆内存的工作原理,以及Golang如何管理堆内存。原文:UnderstandingHeapMemoryinLinuxwithGo你想过为什么堆内存被称为"堆"吗?想象一下杂乱堆放的对象,与此类似,在计算机中,堆内存是动态分配和释放内存的空间,通常会导致内存块的无序排列。我们可以利用这种相似性和无序排列来理解堆内存,并探讨堆内存的概念及其在计算中的意义。什
- 搭建个人AI知识库:RAG与本地模型实践指南
ai开发知识库
引言你是否想过拥有一个私人订制的AI助手,能够随时为你提供最个性化的信息?本文将带你一步步搭建一个基于本地模型和RAG技术的个人知识库。搭建本地模型环境os:archlinux内存:32gcpu:6核12线程python:3.12.7docker27.3.1+docker-compose向量库:milvus2.4.13+attu2.4(客户端)ollamapacman-Sollamasystemc
- python中系统找不到指定文件怎么办,Python“系统找不到指定的文件”
许早早
我正在尝试编写一个OpenDyslexic字体的安装程序。我已经在https://github.com/kirbyfan64/OpenDyslexic-Installer上有一个Linux版本,但是Windows版本(显然)目前还不太好用。这是UAC问题吗?我想不出别的办法了。有两个奇怪的部分:程序正在通过else子句和filecmp找到了第一个文件。我有一种感觉,执行else是因为与filecm
- linux安装mysql5.7
万猿丛中最秃的帅哥
linuxmysqllinuxmysql数据库
1、安装boost库boost_1_59_0连接:链接:https://pan.baidu.com/s/1sNY1niWTFjrLccPbMmcp5w提取码:pdj9在根目录的opt目录创建临时文件储存目录mkdir-p/opt/package进入临时目录cd/opt/package上传压缩包到服务器解压tar–xvzfboost_1_59_0.tar.gz进入boost目录cdboost_1_5
- Springboot-配置文件中敏感信息的加密:三种加密保护方法比较
m0_74825223
面试学习路线阿里巴巴springboot后端java
一.背景当我们将项目部署到服务器上时,一般会在jar包的同级目录下加上application.yml配置文件,这样可以在不重新换包的情况下修改配置。一般会将数据库连接、Redis连接等放到配置文件中。例如配置数据库连接:spring:servlet:multipart:max-file-size:10MB#文件大小限制max-request-size:100MB#请求大小限制datasource:
- plus is not defined eslint报错
于慨
uniapp相关前端
plusisnotdefinedeslint报错解决方法:将eslint配置文件的globals里面添加plus:true
- docker离线安装及部署各类中间件(x86系统架构)
m0_67403143
面试学习路线阿里巴巴docker中间件系统架构
前言:此文主要针对需要在x86内网服务器搭建系统的情况一、docker离线安装1、下载docker镜像https://download.docker.com/linux/static/stable/x86_64/版本:docker-23.0.6.tgz2、将docker-23.0.6.tgz文件上传到服务器上面,这里放在了/home下3、创建docker.service文件#进入/etc/syst
- Nginx 负载均衡的实现
与君共勉12138
nginx负载均衡服务器运维
1.机器准备客户端10.0.0.205nginx10.0.0.206web110.0.0.203web210.0.0.2042.nginx服务配置#下载nginx[root@ubuntu2204~]#aptinstallnginx-y#编辑配置文件,将请求分发到后端服务器[root@ubuntu2204~]#vim/etc/nginx/conf.d/load_balance.confupstrea
- linux下jax-GPU安装
liu_zhaoda
深度学习-jaxlinuxpythonpytorch
安装命令详细内容可查看jax官方文档在已有cuda的情况下,先使用命令1,再使用命令2,即可完成安装命令1:linux下jax安装命令pipinstalljax[cpu]==0.3.25-fhttps://storage.googleapis.com/jax-releases/jax_releases.html将黑体部分,替换成想要的版本即可命令2:linux下jaxlibcuda安装命令pipi
- Windows和Linux两个操作系统的优势
服务器
Windows和Linux是两种主流的操作系统,它们各自具有显著的优势,适用于不同的场景和用户群体。Windows系统的优势广泛的应用兼容性:Windows系统几乎可以运行所有的软件和游戏,满足用户的各种需求。无论是办公软件、设计软件还是游戏软件,Windows平台都有丰富的选择。直观的用户界面:Windows系统的用户界面设计直观,易于上手。它提供了丰富的图形界面和多媒体功能,使得用户可以通过点
- 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独立出来,数据持