PO、VO、DAO、BO、DTO、POJO理解 Java开发

PO、VO、DAO、BO、DTO和POJO等术语被广泛应用于Java和其他编程语言中。尽管这些术语是非常常见的,但是很多程序员依然无法清楚地理解它们之间的区别和关系。

一、PO

PO是“Persistent Object”的缩写,意为“持久化对象”。它通常用于表示数据库中的一条记录,即一组相关的数据。PO是由ORM(对象关系映射)框架生成或手动创建的Java对象,它们通常具有与数据库中的表相同的字段和数据类型。在Java开发中,PO常常被用作DAO(数据访问对象)层的数据模型,以及和数据库交互的对象。PO对象中的字段与数据库中的列相对应,每一行数据对应一个PO对象,PO对象中的字段值就是对应列的值。

二、VO

VO是“Value Object”的缩写,意为“值对象”。VO通常用于表示程序中的某个值或者一组相关的值,例如用户的姓名、年龄、地址等等。VO通常是一个不可变对象,也就是说,它的值在创建之后就不能再修改。在Java开发中,VO对象通常用于在不同层之间传递数据,例如在Controller层和Service层之间传递数据。VO对象和PO对象类似,但是它们的作用不同。VO通常是从PO对象中提取出来的一部分数据,用于展示和传递给前端界面。

三、DAO

DAO是“Data Access Object”的缩写,意为“数据访问对象”。DAO层是整个应用程序中与数据库交互的核心部分。DAO层负责将数据库中的数据转换成Java对象,并将Java对象的数据保存到数据库中。DAO层的主要作用是隔离上层业务逻辑和下层数据访问细节。在Java开发中,通常使用Hibernate等ORM框架来实现DAO层。DAO层的主要任务是实现数据的增删改查等基本操作,同时提供一些高级查询功能。

四、BO

BO是“Business Object”的缩写,意为“业务对象”。BO通常用于表示某个业务逻辑的实体或者模型。BO通常包含一些业务逻辑和方法,例如计算某些值、验证数据、调用其他服务等等。在Java开发中,BO对象通常由Service层或者Facade层来创建,并且它们通常包含一些业务逻辑的实现,以及对数据的操作。BO通常是针对具体的业务场景而设计的,它们是具有业务含义的实体。

五、DTO

DTO是“Data Transfer Object”的缩写,意为“数据传输对象”。DTO通常用于在不同层之间传输数据,例如在Controller层和Service层之间传输数据。DTO对象通常包含一些简单的数据结构,例如字符串、整数、布尔值等等。在Java开发中,DTO对象通常由Controller层或者Service层来创建,并且它们通常是不可变的。

六、POJO

POJO是“Plain Old Java Object”的缩写,意为“简单的Java对象”。POJO通常指的是一个没有任何限制、继承或实现特定接口的普通Java对象。POJO对象通常是一种轻量级的Java对象,没有任何框架或者注解的依赖。在Java开发中,POJO对象通常用于表示简单的数据模型或者数据传输对象。

)

总结

综上所述,PO、VO、DAO、BO、DTO和POJO都是Java开发中常见的术语和概念,它们分别代表不同的含义和用途。其中,PO用于表示数据库中的数据模型,VO用于表示传递给前端的数据模型,DAO用于访问数据库,BO用于表示业务逻辑实体,DTO用于在不同层之间传输数据,POJO用于表示简单的Java对象。在实际的开发中,程序员需要根据不同的场景选择适当的对象类型,并且清楚地理解它们之间的区别和联系。

anaconda udpate python 更新自带的python版本

问题描述

anaconda update python ,anaconda更新自带python版本以及自身版本的更新

更新过程

1、windows环境下以管理员身份启动 Anaconda Prompt
2、Mac环境下,启动终端输入 ,conda activate base
3、升级Anaconda前需要先升级conda ,conda update conda

里可能有三个问题:
1. 是如果更新失败,执行这个命令即可 conda update --force conda
2. 是网络问题:要换成清华的源,并删除default。
3. 是The environment is inconsistent, please check the package plan carefully The following packages are causing the inconsistency:
解决方法:
    conda install anaconda
    conda update --all
  1. 升级anaconda: conda update anaconda
  2. 指定升级版本
    conda install python =3.10
    或者:
    这个命令默认升级到最新版本
    conda install python

    conda install pip
    6.更新所有包: conda update –all

参考链接:https://www.jianshu.com/p/b397d98c47c0

npm install audit 初始

npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。

npm :基于包的规范实现的一个包管理工具

  • npm install 包名

当执行npm install的时候,它会自动跑到npm的网站,然后找到该包的github地址,

找到之后,下载这个压缩包,然后在执行npm install的当前目录下找一个叫做node_modules目录

如果找到,直接解压这个压缩包,到node_modules目录下

如果找不到,则新建一个node_modules目录,解压到该目录

  • npm install -g 包名

表示全局安装

npm在安装的时候,在全局设置了一个安装目录,只要是全局安装就会把包安装到这个目录里面去

npm install -g 包名 只要是全局安装就是安装命令行工具

  • npm install 缩写 npm i

当执行npm install的时候,会自动在当前目录中查找package.json文件

如果找到,找里面的 dependencies 字段,安装该字段中所有依赖的项

  • npm docs 包名

通风这个命令打开 包相对应的文档

  • npm install –save 生产环境

npm i -S jquery@3.*

咱们以后在做项目的时候,先初始化一个package.json文件,

在安装第三方包依赖的时候,必须使用npm install –save express,添加依赖项到package.json文件中,

实际就是添加到dependencies字段中

  • npm install -save-dev 开发环境

npm i -D jquery@3.*

咱们以后在做项目的时候,先初始化一个package.json文件,

在安装第三方包依赖的时候,必须使用npm install –save express,添加依赖项到package.json文件中,

实际就是添加到devDependencies字段中

  • npm config set prefix  修改全局安装目录

不建议使用,建议去文件夹里面改 C:\Users\用户名  里面有一个 .npmrc文件

去里面改prefix = C:\dev\npm  (写你的路径)

去全局的环境变量path里把C:\dev\npm  路径加进去

2.npm 和package.json结合着连

npm init    初始化package.json

npm install  先配置package.json里的devDependencies dependencies字段

npm i -S +包名 npm install –save  不光能下载包,还能把依赖添加到package.json

npm i -D +包名 npm install –save-dev 不光能下载包,还能把依赖添加到package.json

npm docs 包名  查看包的相关文件 jquery、mongoose、http-poster

npm list 当前目录有什么包,检测node_modules里面有什么

npm install –g 包名  全局安装 cnpm、nrm

3.cnpm

4.nrm

安装目录npm install -g nrm

nrm ls 查看数据源

nrm test 测试你的网连那个npm的数据源快

nrm use 切换数据源

一、npm安装包报错

npm ERR! ENOTEMPTY: directory not empty

使用以下命令删除node_modules文件夹

 rm -r node_modules

这将删除node_modules存储库中的文件夹。
然后使用命令:

npm install

二、 npm audit 基本介绍

# 允许开发人员分析复杂的代码,并查明特定的漏洞和缺陷
npm audit

# 检测项目依赖中的漏洞并自动安装需要更新的有漏洞的依赖,而不必再自己进行跟踪和修复
npm audit fix

# 运行audit fix,但是只更新pkglock, 不更新node_modules
npm audit fix --package-lock-only

# 只更新dependencies中安装的包,跳过devDependencies中的包
npm audit fix --only=prod

# 运行命令,得到audit fix将会更新的内容,并且输出json格式的安装信息,但是并不真的安装更新
npm audit fix --dry-run --json

# 得到json格式的详细检测报告
npm audit --json