- 使用Docker构建支持中文字体的Java镜像
DN金猿
dockerdockerjava文字方框
做停车场生成二维码时,在代码中用到在图片上添加文字或水印,文字在本地正常显示,到linux服务器就显示方框,由于我用的是docker部署的java项目,所以在linux服务器中安装了中文字体还是无效,因为项目是部署中docker容器里。Fontfont3=newFont("微软雅黑",Font.PLAIN,72);微软雅黑字体显示方框(方框部分是添加的文字)后来查了很多资料,发现都不行。因为我的D
- 准备工作(初始化)
huba88
linuxcentos
一、关闭防火墙:查看:systemctlstatusfirewalld关闭:systemctlstopfirewalld//临时关闭开机不自启:systemctldisablefirewalld--now//永久关闭二、关闭SELINUX:查看:getenforce临时关闭:setenforce0永久关闭:[root@localhost~]#sed-i's/^SELINUX=.*/SELINUX=
- Linux文件共享
写代码的小阿帆
运维linux运维服务器
FTPtcp协议的传输文件标准,安装方法yuminstall-yvsftpd,使用systemctlstartvsftpd开启服务,使用setenforce0和systemctlstopfirewalld关闭SELinux和防火墙,避免对ftp协议的干扰。客户端使用yum-yinstallftp安装ftp组件,使用时直接ftp目的ip即可建立ftp链接。配置文件在/etc/vsftpd/vsftp
- 分布式搜索引擎Elasticsearch——基础
敲代码的旺财
架构进阶elasticsearchjava搜索引擎ES-head
文章目录一、Lucene与Solr与Elasticsearch二、ES核心术语三、ES核心概念四、倒排索引五、ES的安装(centos7)1、下载地址(这里安装linux版本)2、解压压缩包3、修改配置文件(1)修改核心配置文件(2)修改JVM配置文件4、启动ES(1)添加系统用户并授权(2)ES启动(3)修改配置文件(4)再次启动ES六、安装ES-head插件(可视化管理插件)1、使用谷歌市场安
- linux 内网共享文件夹_局域网中实现linux文件共享
yy tt
linux内网共享文件夹
局域网中实现linux与Windows文件共享文件共享是重要的网络需求,特别在企业环境中这种需求显得非常迫切。我们知道Windows主机间的文件共享非常简单,可以通过网上邻居实现。但是企业环境中主机的操作系统比较复杂,其中不乏Linux、Unix这样的系统。那如何实现Windows与Linux之间的文件共享呢?一个有效的解放方案是,在Linux平台上部署SAMBA即可实现此类共享需求。下面笔者搭建
- 【CentOS7】【配置本地yum源】
酷大有
centos
转载自:https://zhuanlan.zhihu.com/p/5783873591本地使用yum源1.1基于iso镜像的centos源1.1.1准备iso#首先看自己使用的linux服务器内核版本[root@centos-2009home]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)#下载对应版本的linux镜像#我这里用的时清
- linux用户和组管理的实验报告,LINUX实验三 用户管理
就是Hcy呀
实验三用户管理一、实验目的和要求1)掌握在Linux系统下利用命令方式实现用户和组的管理;2)掌握批量创建用户的方法。二、实验内容和原理1.用户的管理l、创建一个新用户user01,设置其主目录为/home/user01。2、查看/etc/passwd文件的最后一行,看看是如何记录的。3、查看文件/etc/shadow文件的最后一行,看看是如何记录的。4、给用户user01设置密码。5、再次查看文
- 【Linux】Makefile项目管理工具(第八篇)
爱编程的小猴
Linuxlinux运维服务器
目录makefile1.0makefile2.0makefile3.0Makefile可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了哪些文件需要编译,哪些文件不需要编译,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重建等等。编译整个工程需要涉及到的,在Makefile中都可以进行描述。换句话说,Makefile可以使得我们的项目工程的编译变得自动化,不
- 连接Redis报错:connect timed out
不会起名啊
redis
连接Redis报错:connecttimedout1、将redis.conf配置文件中的bind127.0.0.1注释掉,此处限制可以链接redis的ip2、如果上一个方法不行,就应该是Linux的防火墙的问题了我这里用的是CentOS7,在CentOS7中默认使用firewall做为防火墙,下面是启动&关闭防火墙的命令://启动firewallsystemctlstartfirewalld.se
- 【Linux+Docker】修改Docker容器中的hosts文件
iku!!
Linuxlinuxdocker运维
1、进入容器bashdockerexec-itbash2、安装编辑器2.1、安装vimapt-getupdateapt-getinstallvim2.2、安装nanoapt-getinstallnano3、编辑hosts文件3.1、使用vim编辑vi/etc/hosts3.2、使用nano编辑nano/etc/hosts4、安装pingapt-getinstalliputils-ping
- 【Linux命令】进程、端口查询命令
iku!!
Linuxlinux服务器运维
1、根据进程ID查询占用的端口号netstat-nlp|grep[进程ID]2、根据端口号查询占用它的进程IDlsof-i:[端口号]或者netstat-nlp|grep[端口号]
- 火狐linux ubuntu16.04,在Ubuntu16.04系统上更新FireFox浏览器(即火狐浏览器)到最新版本...
憋人的故事
火狐linuxubuntu16.04
前言难点在于我下载的是一个压缩包firefox-61.0.2.tar.bz2,没法按照正常流程安装,所以才写这篇博客记录一下。一、找到FireFox的更新版本并下载1)我之前的版本是Firefox54,按照浏览器的提示是:alreadyoutofdate;而且旧版本的真心不好用,所以我打算更新一下。点击右侧的菜单栏,里面有个help->AboutFirefox,点进去:AboutMozillaFi
- linux 火狐源码,Ubuntu 16.04下源码编译Firefox
黑田光
linux火狐源码
因为出于工作项目需要,得完成在Ubuntu下的Firefox源码编译网上的教程多是在windows环境下的,而且也没有正经的教程有的也只是讲道理,它因为要考虑照顾到所有可能用户的需求,所以把教程写的很啰嗦,繁琐,真的不是很想看下。然后我就将其步骤简化了一下,略去各种乱七八糟的情况,整理下无脑版Ubuntu16.04下源码编译Firefox当然主要参考的还是上述的官方教程。0.Ubuntu16.04
- 菜鸟的ai进阶之路(持续更新中...)
夸父的天空
AI进阶linux基础操作python基础语法计算机视觉基础docker基础操作
Day1:1、linux基础指令:Pwd:查看当前所在路径;cat/proc/cpuinfo:查看cpuLs:当前所在路径下有哪些内容;ls-l:以长格式显示(long);Ls-a:显示所有(包含隐藏)all;La-al/ls-la:以长格式显示所有文件;2、路径:绝对路径:以/开始的路径/home/tarena相对路径:不以/开始的路径…:上一级目录~:主目录/home/gary3、cd:切换目
- 【Go语言成长之路】使用 Go 和 Gin 开发 RESTful API
风华同学
Go语言成长之路golangginrestful
文章目录使用Go和Gin开发RESTfulAPI一、前提二、设计API端点三、创建项目四、运行项目4.1编写代码4.2运行代码使用Go和Gin开发RESTfulAPI本教程使用Go和GinWebFramework(Go语言中优秀的第三方Web框架)编写一个RESTfulWeb服务API,实现路由请求、检索请求详细信息、JSON编码响应。一、前提Go1.16以及之后的版本curl工具,在Linux和
- 在VScode中使用Git将本地已有文件夹提交到Github仓库以便于使用版本控制进行项目开发
一路破防的Java选手
vscodegitgithub后端remoteorigin版本控制
前置软件VScode、Git。Linux系统中安装Git工具请自行百度。可以通过git--version查看对应Git版本号。Github创建空白仓库一定要注意创建空白仓库,不要包含任何文件,包括Readme.md文件也不能有。上面的仓库名(Repositoryname)一定要和本地即将上传到Github上的文件名一致,其他任何选项都不要点击,直接点击绿色【CreteRepository】选项。(
- 2018-10-08
may1051
Archlinux+xfce4安装笔记(grub+mbr)分区#fdisk-l找到/dev,此时,可以清晰地看到分区列表,对应于自己要操作的硬盘,使用命令:#fdisk/dev/sdXn:新建分区w:写入硬盘信息格式化分区:#mkfs.ext4/dev/sdaY挂载分区:#mount/dev/sdaY/mnt...(如mount/dev/sda1/mntmount/dev/sda2/mnt/boo
- Windows系统下安装WSL使用Redis
缘_妙不可言o
一、起源 最近毕业设计需要用到Redis,我的电脑又是Windows系统,不太想加Linux搞双系统,也不太想用虚拟机。本着学习的原则上网搜了下Redis的下载安装,发现大部分都是去官网或者去github下载安装。但是发现官网的Windows下载链接和github都进不去,开VPN也进不去。这就难受了! 后来在官网发现一个地方支持Windows下安装Redis,那就是安装WSL2。下面是Red
- 在Ubuntu/Debian Linux系统上检查已经安装软件包的版本
welson_ll
linux
如果要在Ubuntu/DebianLinux操作系统上检查已经安装软件包的版本(知道Ubuntu/Debian系统上可用的软件包版本),可使用apt、apt-cache、aptitude和apt-show-versions命令。前言在Linux中,所有应用程序均以程序包的形式分发,无非就是与程序包管理系统关联的文件。本文将向您展示一些命令,这些命令可用于检查Ubuntu/DebianLinux机器
- 实习的一点回顾Gradle
BigOrangeSama
javajava
1项目目录下执行./gradlewbuild,用.gradlew自动构建首先有一个gradlew(linux)或者gradlew.bat(win)是用来检查java配置,环境配置之类的东西然后去启动gradle/wrapper/gradle-wrapper.jar去检测本地gradle版本是否和配置文件gradle/wrapper/gradle-wrapper.properties中的一样,不一样
- Linux配置NTP时间同步
思静语
Linux&运维安装linux运维服务器
在Linux系统中,配置NTP服务器(服务端)和NTP客户端(客户端)以确保系统时间的准确性涉及不同的步骤。下面是如何配置NTP服务端和客户端的详细说明。NTP服务端配置安装NTP服务在NTP服务器上安装NTP服务包。Debian/Ubuntu系列:sudoaptupdatesudoaptinstallntpRHEL/CentOS系列:sudoyuminstallntpFedora:sudodnf
- 网络基础Linux 常用Ping命令详解
思静语
Linux&运维安装网络通信网络linux
文章目录Linux常用ping命令详解ping用法1.在Windows操作系统下:2.在Unix/Linux和macOS操作系统下:ping命令参数ping的原理是什么ping和ICMP的关系网络基础Ping命令详解(使用Ping这命令来测试网络连通)Linux常用ping命令详解概述不管在windows平台,还是在linux平台,ping都是非常常用的网络命令;ping命令通过ICMP(Inte
- PyCharm新手指南:快速创建虚拟环境venv的步骤解析
漏刻有时
AIGCPythonpycharmidepython
在PyCharm中创建虚拟环境(特别是使用venv或virtualenv)的步骤相对直接,下面是一个详细的步骤指南:一、打开PyCharm并选择项目启动PyCharm:首先,启动PyCharm集成开发环境。打开或创建项目:如果你要在一个新项目中创建虚拟环境,可以选择创建一个新项目。如果已经有现有项目,可以直接打开它。二、进入设置界面打开设置:在Windows/Linux上,点击菜单栏中的“File
- Linux的基本命令简略
饮水_102f
cd/进入文件夹ls-a显示隐藏文件夹ls-l显示文件具体信息ls-lh与ls-l显示的文件大小单位不一样pwd显示当前所在位置目录cd..退回上一级目录cd-撤销一步touch新建文件mkdir新建文件夹cat查看,打开文件clear清屏history已输录命令历史gedit编辑文件打开文件-p循环创建sudiaptinstalltree显示树形结构>重定向(>单个符号重定向将覆盖原文件内容,>
- 物联网架构之HBase
Linux运维老纪
一蹴而就揭秘物联网“点石成金”的魔法架构hbase运维开发linux云计算
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老导航剑指大厂系列:全面总结运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。常用运维工具系列:常用的运维开发工具,zab
- CentOS8-Stream Yum下载报错
企鹅郁金香
笔记linuxCentOS-Stream8yum安装
CentOS8-StreamYum下载报错报错信息如下CentOSLinux8-AppStream0.0B/s|0BErrorsduringdownloadingmetadataforrepository'appstream':-Curlerror(6):Couldn'tresolvehostnameforhttp://mirrorlist.centos.org/?release=8&arch=x
- 浅谈Yum 安装和 源码安装
企鹅郁金香
linux
浅谈Yum安装和源码安装本文所叙述的Linux系统是基于RedHat发行版的CentOS7yum安装1.前言我们知道在Windows上下载的安装包后缀是.exe,与之对应的在Linux下的安装包的后缀是.rpmrpm(RedHatPackageManager)是红帽软件包管理器我们在Windows电脑上下载完.exe安装包后,双击打开即可安装,完全不用操心其内部配置和代码的联系方式。但是,在Lin
- Linux基础2
Lfei5120
linux
文章目录RHCSA课程回顾注:自动化的前提是标准化、规范化。1.网卡命令的步骤:2.ifconfig命令操作3.IP命令及操作4.ss命令操作5.网卡的配置6.硬盘命令7.fdisk命令及操作8.格式化9挂载10.永久挂载11.计划任务12.日志服务与管理13.httpd编译安装apr-util安装http安装http安装RHCSA课程回顾注:自动化的前提是标准化、规范化。网卡回归传统命名一般是:
- arm linux gcc 6.1,安装gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi交叉编译器
Maple丿锋
armlinuxgcc6.1
TheLinaroToolchainWorkingGroupispleasedtoannouncethisquarter’sreleaseoftheLinaroToolchainBinaries,apre-builtversionofLinaroGCCandLinaroGDBthatrunsongenericLinuxorWindowsandtargetstheglibcLinaroEnginee
- ubuntu下 arm-linux-gcc-4.5.1安装v1.0(未经整理版本)
南棱笑笑生
全志
http://astute11.blog.51cto.com/4404646/1048756ubuntu下arm-linux-gcc-4.5.1安装0、rootroot@rootroot-virtual-machine:~$arm-linux-gccarm-linux-gcc:commandnotfoundrootroot@rootroot-virtual-machine:~$gccgcc:fat
- 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独立出来,数据持