Shell之无法进入某一目录解决问题:shell脚本中通过读取文件中的路径,进入到某一目录,但是提示:path:Nosuchfileordirectory.whilereadlinedocdxxx/path/${line}done
web api 与html 部署,详解.net core webapi 前后端开发分离后的配置和部署
万小柯要努力学习
webapi与html部署
背景:现在越来越多的企业都采用了在开发上前后端分离,前后端开发上的分离有很多种,那么今天,我来分享一下项目中得的前后端分离。B/SSaas项目:(这个项目可以理解成个人中心,当然不止这么点功能)前端:node.js+vue后端:.netcorewebapi前端安装node.js跟创建vue项目这些不是这篇文章的重点,重点在于项目完成后的部署。.netcorewebapi创建后,默认就创建了一个ww
高级java每日一道面试题-2025年01月25日-框架篇[Mybatis篇]-MyBatis实现一对一有几种方式?具体怎么操作的?
java我跟你拼了
java每日一道面试题javamybatisassociation标签事务管理
如果有遗漏,评论区告诉我进行补充面试官:MyBatis实现一对一有几种方式?具体怎么操作的?我回答:1.使用XML配置文件实现一对一关系主表和从表的设计假设我们有两个实体:Person和Address,其中Person表包含一个address_id字段,指向Address表的主键。CREATETABLEAddress(idINTPRIMARYKEY,streetVARCHAR(255),cityV
离线安装docker版redis
启航挨踢
dockerredis容器
安装redis1.上传redis_lastest.tar镜像到服务器文件夹如:/home/data2.使用命令:dockerload-iredis_lastest.tar加载镜像3.使用命令:dockerimages检查镜像是否加载成功。4.上传安装文件中的redis文件夹到/home/data,redis下docker-compose.yml和conf/redis.conf中可以配置redis信
linux指定脚本运行的python版本
白蛇仙人
笔记
1.使用which命令获得自己指定的python版本路径whichpython2.7输出:/usr/bin/python2.7whichpython3.4输出:/usr/bin/python3.42.将下列代码放入到脚本文件的开头#!/usr/bin/python2.73.就这样,就可以在其他IDE中运行该脚本了,此时python版本就是指定的版本
私有化一键部署整体方案
维搭小刘
架构运维
背景我们的客户主要是国企、央企或者科技公司,绝大多数情况下,都是需要将星云平台进行私有化部署。此前,在星云平台整体架构一文中,我详细介绍了平台是基于微服务架构设计的,这种架构带来了许多灵活性和扩展性优势,但也给私有化部署带来了不小的挑战。尤其是在私有化部署的过程中,如何确保各个服务版本的兼容性、如何确保不同服务之间的配置和代码的一致性,成为了必须解决的核心问题。为了应对这些挑战,我们需要实现清晰的
Vue3配置vite.config.js代理解决跨域问题
码喽的自我修养
vue2/3从基础到起飞前端工程搭建javascript开发语言ecmascriptvue.js前端nginx
前言:当浏览器发出一个请求时,只要请求URL的协议、域名、端口三者之间任意一个与当前页面URL不同,就称为跨域。跨域一般出现在开发阶段,由于线上环境前端代码被打包成了静态资源,因而不会出现跨域问题,这篇文章主要给大家介绍了关于Vue3配置vite.config.js解决跨域问题的相关资料,创作不易,如果能帮助到带大家,欢迎收藏+关注哦问题再现后台报错:AccesstoXMLHttpRequesta
Python之解析 Windows 下的 .ini 文件
Hi Man
Pythonpythonwindows开发语言
在Python中解析Windows下的.ini文件,可以使用内置的configparser模块。configparser专门用于处理.ini格式的配置文件,支持分节、键值对、注释等特性。以下是一个完整的示例,展示如何解析和操作.ini文件。1..ini文件示例假设你有一个名为config.ini的文件,内容如下:[DEFAULT]sourcepatch=lijiedantargetpath=/ho
[Linux]el8安全配置faillock:登录失败达阈值自动锁定账户配置
wingaso
运维经验总结linux安全运维ssh
前言本篇文章的配置仅使用于el8版本的Linux,目前已在centos8、BCLinux8上验证成功,其他版本系统是否可行还得考查。el8中管理用户登录失败锁定账户所用的模块是faillock.so,如果想要将配置应用与其他版本的Linux,建议确认Linux上是否存在faillock模块,并且在配置之前使用同版本的虚拟机进行配置测试,并在正式配置之前进行必要的备份操作。——这个配置的风险可能会远
node笔记_koa框架的路由
yma16
JavaScript专栏nodejs专栏笔记javascriptnode.js前端
文章目录⭐前言⭐koa原生路由写法⭐引入koa-router安装koa-router动态读取路径文件作为路由⭐结束⭐前言大家好,我是yma16,本文介绍koa框架的路由。往期文章node_windows环境变量配置node_npm发布包linux_配置nodenode_nvm安装配置node笔记_http服务搭建(渲染html、json)node笔记_读文件node笔记_写文件
Nginx 缓存那些事儿:原理、配置和最佳实践
weixin_42587823
linux云计算nginx缓存运维
Nginx缓存那些事儿:原理、配置和最佳实践在当今的互联网世界,网站的访问量和数据处理量不断攀升,如何确保用户能够快速、稳定地访问我们的网站,已经成为每个运维工程师面临的挑战。幸运的是,Nginx作为一款高性能的反向代理服务器,能够帮助我们轻松应对这一挑战,不仅能处理大量的请求,还能作为缓存服务器来提高系统性能,减轻后端服务器的压力。一、Nginx缓存的工作原理要理解Nginx如何作为缓存服务器工
excel python脚本_Python自动化处理Excel脚本
Yu-Demon32~
excelpython脚本
经常看到身边的同事(包括自己)在弄Excel表格的时候,各种复制粘贴非常麻烦,尤其是每天做一样的工作,重复枯燥费时间,于是打算写个小脚本自动更新Excel表格。image.png我们以这个表格为例,给大家看下表格长啥样儿,我们要更新的列是日期-字段9里面的数据,其中最后两列是套公式自动计算的。我们这里主要使用pandas和openpyxl这两个库进行操作。思路首先表格中肯定会存在制作好的公式,只要
【项目集成Husky】
软件205
在线工具箱(毕设)vue
项目集成Husky安装初始化Husky在.husky→pre-commit文件中添加想要执行的命令安装使用Husky可以帮助你在Git钩子中运行脚本,例如在提交代码前运行测试或格式化代码pnpmadd--save-devhusky初始化Huskynpxhuskyinit这会在项目根目录下创建一个.husky目录在.husky→pre-commit文件中添加想要执行的命令pnpmrunformat官
新版Pycharm找不到在anaconda已创建的虚拟环境(成功解决)
给我一个接口
pycharmpythonideyoloconda
在使用pycharm导入已经创建配置好的环境时找不到对应的文件路径,或者显示不出来处理方法也很简单只需要在如下红色框内输入如下的文件路径名注意,要改成你自己创建好的对应的路径名,下面是在我电脑上的例子D:\Anaconda\Scripts\conda.exe接下来就成功的添加上已经创建好的环境了!最后效果如图所示
从零搭建一个Vue3 + Typescript的脚手架——day2
DT——
从零搭建脚手架typescriptjavascript前端
1.配置ElementPlusElementPlus简介ElementPlus是一个基于Vue3的组件库,它提供了丰富的组件和样式,可以帮助开发者快速构建现代化的Web应用。ElementPlus是基于ElementUI的Vue3版本,它提供了更多的组件和样式,同时也支持Vue3的CompositionAPI。ElementPlus是一个开源项目,它有丰富的文档和示例,可以帮助开发者快速上手。安装
基于Pyhton的人脸识别(Python 3.12+face_recognition库)
F2022697486
python人工智能开发语言
使用Python进行人脸编码和比较简介在这个教程中,我们将学习如何使用Python和face_recognition库来加载图像、提取人脸编码,并比较两个人脸是否相似。face_recognition库是一个强大的工具,它基于dlib的深度学习模型,可以轻松实现人脸检测和识别功能。本教程适合初学者,我们将通过一个简单的项目来了解这个库的基本用法和环境配置。代码示例importface_recogn
Nginx应用核心概念、nginx配置缓存、HTTPS、nginx配置跨域CORS、nginx架构说明
2501_90223742
nginx缓存https
动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提示整个服务的访问性和可维护性。一般来说,都需要将动态资源和静态资源分开,由于Nginx的高并发和静态资源缓存等特性,经常将静态资源部署在Nginx上。如果请求的是静态资源,直接到静态资源目录获取资源,如果是动态资源的请求,则利用反向代理的原理,把请求转发给对应后台应用去处理,从
从零搭建一个Vue3 + Typescript的脚手架——day3
DT——
从零搭建脚手架typescriptjavascript前端
3.项目拓展配置(1).配置PiniaPinia简介Pinia是Vue.js3的状态管理库,它是一个轻量级、灵活、易于使用的状态管理库。Pinia是Vue.js3的官方状态管理库,它可以帮助开发者更好地管理应用的状态。Pinia是一个开源项目,它有丰富的文档和示例,可以帮助开发者快速上手。Pinia是一个强大的工具,它可以处理Vue.js3的许多方面,包括状态管理、路由、组件通信等。Pinia是一
Vue3和react状态管理之Redux与Pinia的使用比较
AIGC小陈
react.jsjavascript前端
初始配置pinia:1.通过create-vue脚手架在命令行选择pinia模板生成2.在项目后续添加使用npmaddpinia也可以添加并追加模板redux:1.使用create-react-app脚手架带的pinia模板通过npxcreate-react-appmy-app--templateredux-typescript生成2.在项目后续添加使用npmaddredux也可以添加但不能追加模
Hadoop HA 架构
weixin_30569033
shell大数据
为什么要用集群?企业里面,多台机器伪分布式每一个角色都是一个进程HDFS:NNSNNDNYARN:RMNM大数据所有组件,都是主从架构master-slaveHDFS读写请求都是先到NN节点,但是,HBase读写请求不是经过master,建表和删除表是需要经过masterNN节点挂了,就不能提供对外服务(-put,-get)需要配置两个NN节点(实时的,任何时刻只有一台active对外,另外一台是
spring-transaction
Think_Higher
Java生态圈springjavamvc
文章目录配置解析TransactionalEventListener主要组件注册代理类生成Advisor寻找运行调用链生成调用链调用TransactionInterceptor事务管理器DataSource事务开启是否已存在事务事务已存在PROPAGATION_NEVERPROPAGATION_NOT_SUPPORTED事务挂起PROPAGATION_REQUIRES_NEWPROPAGATION
MyBatis概述——一个优秀的持久层框架
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介MyBatis是一款开源的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和参数处理,将XML配置化结果映射成Java对象并通过接口形式传入到业务层,使得开发人员更关注于业务逻辑而不是数据库相关的事务控制和重复代码等低级事务性工作。MyBatis的定位就是将Java对象和关系数据库的数据对接起来,做到自动化crud
Chromium132 编译指南 - Android 篇(二):开发环境配置
守城小轩
浏览器开发浏览器开发chromedevtoolschrome指纹浏览器
1.引言在之前的文章中,我们详细介绍了编译Chromium132forAndroid所需的系统和硬件要求。在确保您的开发环境满足这些基本要求后,接下来我们将重点讲解如何具体配置您的开发环境,以便顺利编译Chromium。本篇文章将涵盖从更新软件源到安装基本依赖、配置开发工具等各个方面的详细步骤。通过这篇指南,您将能够一步步完成开发环境的准备工作,为后续的编译和开发打下坚实的基础。以下内容将帮助您在
HC-05、HC-06蓝牙模块配置与连接
..过云雨
stm32嵌入式硬件单片机
HC-05是主从一体的6针并且有一个复位按键,HC-06是从机4针并且没有按键(我买的是这样的,不同的话就别往下看了)。配置这东西需要USB转TTL,或者其他带RX,TX,VCC,GND的模块都行。HC-06连接与配置指令HC-06是4针的,只有RX,TX,GND,VCC四个引脚,配置的时候连线就按RX-TX,TX-RX,GND-GND,VCC-VCC连就可以了,上电后指示灯闪烁,连接蓝牙后灯常亮
Spring框架AOP基本使用指南
未来并未来
springjava后端
AOP(Aspect-OrientedProgramming,面向切面编程)是Spring框架中的一个重要特性,它允许开发者将横切关注点(如日志记录、事务管理、安全性等)从业务逻辑中分离出来,从而提高代码的模块化和可维护性。本文将详细介绍Spring框架中AOP的基本使用,包括如何定义切面、通知、切点以及如何在Spring应用中配置AOP。1.AOP基本概念在开始使用SpringAOP之前,我们需
【Docker】ubuntu中 Docker的使用
magic_ll
ubuntudocker
之前记录了docker的安装【环境配置】ubuntu中Docker的安装;本篇博客记录Dockerfile的示例,docker的使用,包括镜像的构建、容器的启动、dockercompose的使用等。 当安装好后,可查看docker的基本信息dockerinfo##查看docker信息,在输出中,查找DockerRootDir字段,它会显示Docker存储的根目录。dockerversion##查看
AIGC时代的Vue或React前端开发
GISer_Jinger
JavascriptReactVueAIGCvue.jsreact.js
在AIGC(人工智能生成内容)时代,Vue开发正经历着深刻的变革。以下是对AIGC时代Vue开发的详细分析:一、AIGC技术对Vue开发的影响代码生成与自动化AIGC技术使得开发者能够借助智能工具快速生成和优化Vue代码。例如,通过自然语言处理模型(如ChatGPT),开发者可以描述组件的功能和样式需求,然后自动生成包含模板、脚本和样式的完整组件代码。这不仅大大提高了开发效率,还减少了人为错误的可
BUUCTF [b01lers2020]little_engine
皮皮蟹!
BUUCTF
1.拿到文件,进入主函数:这个是动调之前的主函数,开始动调:其中,已知字符串已经给出,为unk_5617CE521220,一共300位:进入加密函数sub_5608DAAB8510:通过多次动态调试,得到了加密算法的逻辑。看判断函数sub_5608DAAB85A0:综上,写出加密脚本:a=[0xE1,0xE
什么是“脚本语言”
暮雨澪
脚本语言
一、脚本脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常是以文本(ASCⅡ)保存,只是在被调用时进行解释或者编译。当执行脚本时,计算机会执行一连串的操作。这些操作可能只涉及Illustrator,也可能涉及其他应用程序,如文字处理、电子表格和数据管理程序。Illustrator可支持多种脚本环境(例如,MicrosoftVisualBasic、AppleSc
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独立出来,数据持