- Python简单的学生管理系统(字典实现)
Lill_bin
Python字典学生管理数据操作用户交互
代码:dict1={'小黑':'2020212978','小白':'2020212977','小绿':'2020212966'}print("请输入想要进行的操作:1.插入学生2.查询学生3.删除学生4.查询所有信息5.退出")definsertstudent():#插入学生信息name=input("请输入想要插入的学生姓名")if(nameindict1):print("该学生信息已存在")e
- 《Python数据分析实战》
johnny233
Python读书笔记python
环境搭建定义变量名时要遵循的规则:变量名必须以字母或下画线开始,名字中间只能由字母、数字和下画线组成长度不能超过255个字符变量名在有效范围内必须具有唯一性不能使用保留字(关键字)区分大小写不能对元组中的元素做修改,只能做切片查询。如果元组中只有1个元素,则需要在这个元素的后面加上逗号。数字100正确的表示方法为(100,)列表:a=[1,2,3],常用列表函数函数用途append()向列表末尾添
- Pyecharts 可视化数据大屏设计与实践
jun778895
pyecharts
Pyecharts可视化数据大屏设计与实践在当今数字化转型的大潮中,数据可视化大屏成为了企业展示业务数据、监控运营状态、辅助决策制定的重要工具。Pyecharts,作为一款基于Python的开源数据可视化库,因其丰富的图表类型、灵活的配置选项以及易于集成的特性,成为构建数据大屏的理想选择。本文将详细探讨如何利用Pyecharts设计并实现一个功能全面、视觉效果突出的数据可视化大屏。一、项目概述假设
- Django模板语法和ModelForm
Q_M_Y_Y
djangodjangopython
ModelForm或者Form组件的作用:生成HTML标签对POST过来的表单数据进行验证直接将数据保存到数据库获取表单错误信息Django的管道操作模板时间格式化显示{{item.event_start|date:“Y-m-dH:i:s”}}{{bio|truncatewords:“30”}}{{my_list|first|upper}}{{name|lower}}Mysql时间转Python时
- 【Python】面向对象
丕羽
python
面向对象1.概述:编程思想,对象为基础,基于面向过程.三大思想特点:把复杂的事情简单化把人们(程序员)从执行者变成指挥者.更符合人们的思考习惯.总结1.万物皆对象2.概述,特点,举例,总结四个方向描述什么是面向对象2.三大特征:封装,继承,多态封装:隐藏对象的属性和实现细节(方法),仅对外提供公共的访问方式.通过私有化方式隐藏,公共的访问方式操作,因为函数也是封装,所以封装不单指的是私有封装保证了
- python csv文件创建时间_更高效的Python CSV文件导出
weixin_39622084
pythoncsv文件创建时间
在上一篇文章,我介绍了CSV是什么?CSV有哪些优点?如何使用等等?并且最后我们用一个例子简单讲解了如何使用Python模块CSV进行导出后缀为.csv的文本文件。其实例子用于异步导出数据文件是够了,但工作中我们可能还需要结合我们Web框架进行更复杂的CSV导出。所以今天我们的目的就是结合PythonDjango框架进行分享CSV导出的另外一种方式。安装依赖这里面我们需要安装一个第三方包djang
- python Django +Vue实现多文件异步上传
离光头还差半个光头
pythonvue.jsuploadpost
pythonDjango+Vue实现多文件异步上传刚接触python不久,接到个需求需要多文件上传,在网上找了很多,有讲理论的,有讲实现的,但我花了很长时间,才从这些文章中搞懂这个问题,我们来个直接粗暴的,上代码,部分解释加在代码上html首页letapp=newVue({el:'#app',data:{fileList:[],},methods:{fileChange:function(e){t
- 火山引擎字节跳动豆包AI对话接口
lytcreate.
Python火山引擎AI火山引擎
#pipinstall'volcengine-python-sdk[ark]'fromvolcenginesdkarkruntimeimportArkdefchat_dance(desc):client=Ark(api_key='你的api_key')completion=client.chat.completions.create(model="ep-20240619083846-c4xff",
- python 打包docker
风行傲天
pythondocker开发语言
python版本3.10使用flask项目打包1、创建requirements.txt列出项目所安装依赖,如:flaskstatsmodels==0.14.2neuralprophet==0.9.0keras==3.4.1scikit-learn==1.5.1tensorflow2、编写Dockerfile#拉取基础镜像FROMpython:3.10#镜像维护者的姓名和邮箱地址MAINTAINER
- python sql语句生成_python自动生成sql语句的脚本
weixin_39531183
pythonsql语句生成
描述:工作中在数据库中创建表时,当字段很多时,比较麻烦,开发一个工具,可在excel中写好字段英文名和中文名,然后通过py生成脚本或直接在库中生成表脚本:importtkinterfromtkinterimport*importtkinter.messageboxfromtkinterimportscrolledtextimportxlrdimportpymysqlimportos#从excel中
- python数据库操作批量sql执行_利用Python脚本批量生成SQL语句
weixin_39725154
通过Python脚本批量生成插入数据的SQL语句原始SQL语句:INSERTINTOsystem_user(id,login_name,name,password,salt,code,createtime,email,main_org,positions,status,used,url,invalid,millis,id_card,phone_no,past,end_date,start_date
- BeautifulSoup:Python网页解析库详解
零 度°
pythonbeautifulsouppython
BeautifulSoup是一个Python库,用于从HTML或XML文件中提取数据。它能够通过简单的方法处理复杂的HTML文档,并且很容易就能找到你需要的标签和数据。BeautifulSoup的主要特点易于使用:BeautifulSoup提供了简洁的API来提取HTML标签。灵活:可以与lxml、html5lib或html.parser等解析器一起使用。强大:支持导航、搜索、修改解析树等功能。常
- 深度学习项目实践——QQ聊天机器人(transformer)(三)功能实现的方法——NoneBot2插件结构与编写
Linductor
qq聊天机器人项目机器人transformernonebot
深度学习项目实践——QQ聊天机器人(transformer)(三)功能实现的方法——NoneBot2插件结构与编写在前两节中,我们详细讲解了QQ聊天的原理、QQ机器人的框架与环境配置的流程。本节将重点介绍NoneBot2的插件构成,以及如何从零开始编写一个属于自己的插件。这一篇文章主要就是充当搬运工,参考了nonebot2的官方文档第一步:了解NoneBot2的架构在开始编写插件之前,我们先来了解
- Python比C语言到底有什么优势?为什么越来越多人都学python?
马大哈(Python)
pythonpycharm开发语言AI编程爬虫
Python作为一种高级编程语言,在众多编程语言中脱颖而出,主要得益于其多方面的优势。以下是Python相比于其他语言的一些显著优势:简单易学:Python的语法清晰、简洁,易于阅读和编写,这使得它成为初学者的首选语言。其语法结构接近于自然语言,减少了学习曲线的陡峭度。丰富的库和框架:Python拥有庞大的标准库和第三方库,涵盖了从Web开发、数据科学、机器学习、人工智能、自动化测试到网络编程等各
- python批量生成sql用于创建500个用户
weixin_43946945
pythonsql数据库
创建500个用户,分别为jmeter001-jmeter500,密码都是123,手动添加不现实,用客户端复制粘贴表数据也要添加很久,因此想批量生成500条插入的sql,如下:start_num=1end_num=500insert_sql="INSERTINTO`sys_user`(`user_id`,`username`,`password`,`email`,`mobile`,`create_t
- 汇编、C/C++编译过程
迷的人
c++
前言最近安装汇编环境的时候了解到代码的执行与编译过程,对自己曾经学习过语言的编译过程无法准确的回答,借此进行一些简单的梳理。一、汇编的编译过程汇编作为我们能够接触到最底层的语言、低级语言,汇编语言的编译方法多是基于对于寄存器的控制,可以直接翻译成机器代码,它同样是其他高级语言的基础,高级语言如Python、C++和Java与汇编语言的关系是一对多。比如,C++的一条语句就会扩展为多条汇编指令。故汇
- Python任务调度的几种方式
唯余木叶下弦声
pythonpython开发语言
目录1、通过time.sleep(n)2、通过LinuxCrontab3、通过APScheduler4、通过AirFlow框架1、通过time.sleep(n)例如,写个while(True)循环,每次执行完程序休眠1小时:time.sleep(3600),以间接达到定时调度的效果。这是最简单也是最笨的方式,会阻塞当前线程,而且无法控制任务准确的执行时间,不推荐用于生产环境中的任务调度。2、通过L
- python编写API接口实现数据筛选、查询与分页
唯余木叶下弦声
python开发语言
目录一、背景二、代码一、背景由于系统上需要分页展示数据,并提供按字段筛选数据的功能,于是需要我写个接口,以供前端使用。接口可以通过pythonflask框架实现。Flask是一个轻量级的Web框架,它提供了足够的灵活性来构建定制的RESTfulAPI。开发者可以根据需求轻松地设计和实现接口。数据的查询可以通过pymysql连接MySQL数据库实现。数据的筛选和分页可以通过堆叠where条件、row
- BUG解决:postman可以请求成功,但Python requests请求报403
唯余木叶下弦声
bug
目录问题背景问题定位问题解决问题背景使用Python的requests库对接物联数据的接口之前一直正常运行,昨天突然请求不通了,通过进一步验证发现凡是使用代码调用接口就不通,而使用postman就能调通,请求参数啥的都没变。接口返回的结果如下:\n\n\n\n\n403\n\nbody{\nbackground-color:#f3f3f4;\ncolor:#676a6c;\nheight:100%
- Python使用pyhive库远程操作hive的配置和使用
玩家_名狱
Python学习大数据python数据库hive
请先安装好hive,林子雨老师的配置方法,该配置方法是可以配置成功的,请注意配置hive-site.xml文件的时候,里面添加的信息都是在标签里的尾部添加配置hive环境到hive安装的conf目录下,把hive-env.sh.template复制一份并改名为hive-env.shcd/usr/local/hive/conf/cphive-env.sh.templatehive-env.sh然后配
- python模块使用
流光影下
python入门教程python开发语言
自定义模块以内建的sys模块为例,编写一个hello的模块:#!/usr/bin/envpython3#-*-coding:utf-8-*-'atestmodule'__author__='MichaelLiao'importsysdeftest():args=sys.argviflen(args)==1:print('Hello,world!')eliflen(args)==2:print('H
- 1.5 编程基础之循环控制 45 金币 方法二(python3实现)
dllglvzhenfeng
CSP-JCSP-SNOIP历年真题计算机考研机试程序猿的数学算法人工智能python蓝桥杯CSP-J
OpenJudge-45:金币信息学奥赛一本通(C++版)在线评测系统[NOIP2015普及组]金币-洛谷1.5编程基础之循环控制_45金币https://blog.csdn.net/dllglvzhenfeng/article/details/1219932361.5编程基础之循环控制45金币(python3实现一)https://blog.csdn.net/dllglvzhenfeng/art
- python利用pyhive 连接hive
Leonban
《Python基础知识》pythonhive大数据
1.下载需求包pipinstallsaslpipinstallthriftpipinstallthrift-saslpipinstallPyHive2.连接hive注意端口默认为10000frompyhiveimporthiveconn=hive.Connection(host='192.168.100.100',port=10000,username='root',database='defau
- python连接hive--Pyhive
Elvis_hui
hivehivepythonsql
Pyhive安装包pipinstallsaslpipinstallthriftpipinstallthrift-saslpipinstallPyHive#安装对应的包sasl可能会报错#下载sasl文件sasl下载执行语句第一种frompyhiveimporthivedefselect_pyhive(sql):#创建hive连接conn=hive.Connection(host='##',port
- pyhton - PyHive
凌不了云
pythonpythonhive
简介PyHive是一组PythonDB-API和SQLAlchemy接口,可用于Presto和Hive。它为Python提供了一个与Presto和Hive进行交互的平台,使得数据分析师和工程师可以更方便地进行数据处理和分析。安装在安装PyHive之前,你需要确保已经安装以下软件:PipPythonJDK(JavaDevelopmentKit)Hive或Presto在安装完成上述软件之后,你可以使用
- python中格式化输出
2301_76175793
python开发语言
1、使用%占位符%s将内容转化为字符串,放入占位位置。内容可以是列表,字典等类型,最后会转化成字符串类型。%d将内容转化为整数,放入占位位置%f将内容转化为浮点数,放入占位位置使用占位符按位置传参,如果只传一个参数的话,不用在参数的位置加括号,而要传多个参数的话,要加括号,并且传入的参数与占位符的位置一一对应。输入:print("我的名字是%s。"%"明天")print("我的名字是%s,我的年龄
- 大语言模型原理与工程实践:混合微调策略
AGI通用人工智能之禅
计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
大语言模型原理与工程实践:混合微调策略作者:禅与计算机程序设计艺术/ZenandtheArtofComputerProgramming1.背景介绍1.1问题的由来随着深度学习技术的迅猛发展,大语言模型(LargeLanguageModels,LLMs)在自然语言处理(NaturalLanguageProcessing,NLP)领域取得了突破性的进展。LLMs通过在海量文本数据上进行预训练,学习到了
- Python中使用SQLite
ch_s_t
Pythonsqlitepython数据库sql
一、SQLite3增删改查在Python中使用SQLite3进行数据库操作是一种常见的实践,特别是对于小型应用程序或原型开发。以下是使用Python标准库中的`sqlite3`模块进行增删改查(CRUD)操作的基本示例。1.连接数据库首先,需要连接到SQLite数据库。如果数据库文件不存在,`sqlite3.connect()`将会创建一个新的数据库文件。importsqlite3#连接到SQLi
- python取消注释代码_python去除注释
weixin_39580041
python取消注释代码
UliPad常用技巧小贴士UliPad常用技巧小贴士Python学了也一段时间了,拥有一款顺手的IDE工具也是写程序必备的。我发现很多人都在用sublime,用起来确实也不错,不过发现了一款国产的工具,是国内大神limodou基于wxPython写的,用起来还蛮顺手的,为了使用更方便还需要一些小技巧,以下就是我遇到的一些...文章科技小能手2017-11-121306浏览量python3与Java
- python爬虫心得_python爬虫学习心得
weixin_39941721
python爬虫心得
爬虫新手一枚,因为工作原因需要学习相关的东西。发表下这段时间学习的心得,有说得不对的地方欢迎指指点点。一.什么是爬虫在学习爬虫之前只对爬虫有个概念性的认识。通过向服务器发送请求获取服务器传回信息,再根据其提取所需的信息。原理虽然简单,但是涉及的细节非常多,从一个坑爬出来又掉进另一个坑。二.post和getpost和get是两种向服务器发送请求的方式,有些http基础的同学应该都清楚他们的用处,在写
- 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独立出来,数据持