- Azkaban各种类型的Job编写
__元昊__
一、概述原生的Azkaban支持的plugin类型有以下这些:command:Linuxshell命令行任务gobblin:通用数据采集工具hadoopJava:运行hadoopMR任务java:原生java任务hive:支持执行hiveSQLpig:pig脚本任务spark:spark任务hdfsToTeradata:把数据从hdfs导入TeradatateradataToHdfs:把数据从Te
- 关于HDP的20道高级运维面试题
编织幻境的妖
运维
1.描述HDP的主要组件及其作用。HDP(HortonworksDataPlatform)的主要组件包括Hadoop框架、HDFS、MapReduce、YARN以及Hadoop生态系统中的其他关键工具,如Spark、Flink、Hive、HBase等。以下是对这些组件及其作用的具体描述:Hadoop框架:Hadoop是一个开源的分布式计算框架,用Java语言编写,用于存储和处理大规模数据集。它广义
- 【Hadoop】使用Scala与Spark连接ClickHouse进行数据处理
音乐学家方大刚
ScalaHadoophadoopscalaspark
风不懂不懂得叶的梦月不听不听闻窗里琴声意难穷水不见不曾见绿消红霜不知不知晓将别人怎道珍重落叶有风才敢做一个会飞的梦孤窗有月才敢登高在夜里从容桃花有水才怕身是客身是客此景不能久TieYann(铁阳)、薄彩生《不知晓》在大数据分析和处理领域,ApacheSpark是一个广泛使用的高性能、通用的计算框架,而ClickHouse作为一个高性能的列式数据库,特别适合在线分析处理(OLAP)。结合Scala语
- Spark面试整理-Spark是什么?
不务正业的猿
面试Sparkspark大数据分布式
ApacheSpark是一个开源的分布式计算系统,它提供了一个用于大规模数据处理的快速、通用、易于使用的平台。它最初是在加州大学伯克利分校的AMPLab开发的,并于2010年开源。自那时起,Spark已经成为大数据处理中最受欢迎和广泛使用的框架之一。下面是Spark的一些关键特点:速度:Spark使用了先进的DAG(有向无环图)执行引擎,可以支持循环数据流和内存计算。这使得Spark在数据处理方面
- 第10讲_Spring对Dao的支持
吴国友
Spring框架优秀就是在于MVC开发的时候一旦需要对底层的数据库操作,它可以很好的支持JDBC技术,还有现在主流的ORM框架(Hibernate,MyBatis)技术。重点先介绍Spring对JDBC支持。在Spring对JDBC支持中提供了一个模板JdbcTemplate,此模板封装了对JDBC操作的许多方法,且消除了忽视资源释放而引起的漏洞Spring对JDBC操作需要导入的jar(开发环境
- 每日五道java面试题之mybatis篇(一)
中北萌新程序员
java面试题java开发语言
目录:第一题.MyBatis是什么?第二题.ORM是什么?第三题.为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?第四题.传统JDBC开发存在的问题第五题.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?第一题.MyBatis是什么?MyBatis是一款优秀的持久层框架,一个半ORM(对象关系映射)框架,它支持定制化SQL、存储过程以及高级映射。MyBatis
- JDBC的概念
2301_79744036
数据库java
一.JDBC概念:其实JDBC就像是翻译官,就像是你去到国外是不是听不懂当地人再讲什么?Java就相当于是你,数据库就是本地人,然后JDBC就是那个翻译官,它提供了一套标准的方法和工具,让Java程序可以与各种不同类型的数据库进行交流,无论是MySQL、Oracle、SQLServer还是其他类型的数据库。它隐藏了与具体数据库相关的细节,使得Java程序员可以用相同的方式来访问不同的数据库,而不需
- Spark Q&A
耐心的农夫2020
Q:在读取文件的时候,如何忽略空gzip文件?A:从Spark2.1开始,你可以通过启用spark.sql.files.ignoreCorruptFiles选项来忽略损毁的文件。可以将下面的选项添加到你的spark-submit或者pyspark命令中。--confspark.sql.files.ignoreCorruptFiles=true另外spark支持的选项可以通过在spark-shell
- Java面试题总结18之springcloud四种分布式事务解决方案
陈平安"
Java面试分布式springcloudjava
XA规范:分布式事务规范,规定了分布式事务模型四个角色:事务管理器(协调者TM),资源管理器(参与者RM),应用程序AP,通信资源管理器CRM全局事务:一个横跨多个数据库的事务,要么全部提交,要么全部回滚JTA事务时Java对XA规范的实现,对应JDBC的单库事务两阶段协议第一阶段(prepare):每个参与者执行本地但不提交,进入ready状态,并通知协调者已经准备就绪。第二阶段(commit)
- 如何用Jmeter对数据库执行压力测试
自动化测试薰儿
软件测试技术分享jmeter数据库压力测试
在我看来压力测试的压测对象可以分为UI,接口及数据库三个部分吧,对界面及接口进行压测还算熟悉,定位性能瓶颈,对数据库SQL执行压测也是需要做的。工具呢?还是Jmeter1、将需要用到的链接Oracle的架包放到jmeter中在数据库服务器安装路径下,找到ojdbc5.jar,D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib拷贝到jmeter
- linux安装单机版spark3.5.0
爱上雪茄
大数据JAVA知识spark大数据分布式
一、spark介绍是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等.Spark主要用于大数据的计算二、spark下载spark3.5.0三、spark环境变量配置exportJAVA_HOME=/usr/local/jdk1.8.0_391exportJRE_HOME=/usr/local/jdk1.8.0_391/jr
- SpringBoot 2.0的datasource、Spring DataJpa、 Spring DataRedis的yml配置
Acmen-zym
Javaspringbootyml
配置不算特别详细,很多参数都是有默认的,如果默认值适用于你当前的项目就不需要进行修改配置server:port:80servlet:session:timeout:3600#session过期时间默认是30分钟spring:profiles:active:dev#激活生产环境datasource:url:jdbc:mysql://192.168.99.100:3306/zndz_xyt?useUn
- java jdbc mysql 8驱动,连接数据库 mysql serverTimezone 问题,时间少了8小时
Damon撇嘴笑
数据库javamysql
如果你发现时间正好少了8小时,不用问,肯定是时区设置有问题,找找在哪里设置下时区就好了。遇到一个问题:Mysql驱动从5升级到8后,数据库链接配置了serverTimezone=UTC,导致数据库时间和Java时间相差8小时。解决如下:如果你设置serverTimezone=UTC,连接不报错,但是我们在用java代码插入到数据库时间的时候却出现了问题。比如在java代码里面插入的时间为:2018
- 解决Connection to Xxx@localhost failed.
zXuan
解决:Connectiontojianshu@localhostfailed.[08001]Couldnotcreateconnectiontodatabaseserver.Attemptedreconnect3times.Givingup.原因2019最新版本IDEA,Pycharm连接JDBC方式为Mysql6中的com.mysql.cj.jdbc.Driver,这个方法需要指定时区【serv
- Java反射的底层实现原理
爱码的嘉
javajava反射
1.什么是反射?反射在程序运行期间动态获取类和操纵类的一种技术。2.反射的应用有哪些?反射在日常开发中使用的地方有很多,例如以下几个:动态代理:反射是动态代理的底层实现,即在运行时动态地创建代理对象,并拦截和增强方法调用。这常用于实现AOP功能,如日志记录、事务管理等。Bean创建:Spring/SpringBoot项目中,在项目启动时,创建的Bean对象就是通过反射来实现的。JDBC连接:JDB
- Spring(23) JdbcTemplate 使用简介
ACGkaka_
Springspring数据库java
目录一、简介二、使用介绍2.1Maven信息2.2配置数据源2.3JdbcTemplate使用1)execute()方法2)update()方法3)queryXxx()方法一、简介背景:JDBC已经能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库资源,例如:获取PreparedStatement、设置SQL语句参数、关闭连接等步骤。定义:JdbcTemplate是Spri
- 架构:Apache Kafka Connect实现sqlserver数据实时同步
管理大亨
sqlserver中间件架构
实现ApacheKafkaConnect与SQLServer之间的实时数据同步,您可以使用KafkaConnect的JDBCSourceConnector。以下是一个基本的步骤:1.安装KafkaConnect:确保您已经安装了ApacheKafka和KafkaConnect。您可以从ApacheKafka的官方网站或其他途径获取它。2.下载JDBCDriver:获取适用于SQLServer的JD
- 【Java】Mybatis中使用sum对字段求和
李维山
Java
如下sql,为计算用户收益总和:selectsum(income)astotalIncomefromincome_logwhereuid=#{uid,jdbcType=BIGINT}其中返回的求和字段类型需要设置为BigDecimal:publicclassUserIncomeEntity{privateBigDecimaltotalIncome;}
- Spark的数据结构——RDD
bluedraam_pp
Sparkspark数据结构大数据
RDD的5个特征下面来说一下RDD这东西,它是ResilientDistributedDatasets的简写。咱们来看看RDD在源码的解释。Alistofpartitions:在大数据领域,大数据都是分割成若干个部分,放到多个服务器上,这样就能做到多线程的处理数据,这对处理大数据量是非常重要的。分区意味着,可以使用多个线程了处理。Afunctionforcomputingeachsplit:作用在
- 大数据开发(Spark面试真题-卷一)
Key-Key
大数据spark面试
大数据开发(Spark面试真题)1、什么是SparkStreaming?简要描述其工作原理。2、什么是Spark内存管理机制?请解释其中的主要概念,并说明其作用。3、请解释一下Spark中的shuffle是什么,以及为什么shuffle操作开销较大?4、请解释一下Spark中的RDD持久化(Caching)是什么以及为什么要使用持久化?5、请解释一下Spark中ResilientDistribut
- 基于HBase和Spark构建企业级数据处理平台
weixin_34071713
大数据数据库爬虫
摘要:在中国HBase技术社区第十届Meetup杭州站上,阿里云数据库技术专家李伟为大家分享了如何基于当下流行的HBase和Spark体系构建企业级数据处理平台,并且针对于一些具体落地场景进行了介绍。演讲嘉宾简介:李伟(花名:沐远),阿里云数据库技术专家。专注于大数据分布式计算和数据库领域,具有6年分布式开发经验,先后研发Spark及自主研发内存计算,目前为广大公有云用户提供专业的云HBase数据
- Springboot mybatis 采坑 | You have an error in your SQL syntax; check the manual that corresponds
Wbw Belief
springbootmybatismybatismapperspringbootsql异常
填坑记录,springbootmybatismapper文件错误,多了一个','号.基本上都是大意引起的错误,比如:单词写错,类型写错,sql语句错误等等。。。YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserver具体异常:org.springframework.jdbc.BadSqlGrammarE
- lightGBM专题4:pyspark平台下lightgbm模型保存
I_belong_to_jesus
大数据
之前的文章(pysparklightGBM1和pysparklightGBM2)介绍了pyspark下lightGBM算法的实现,本文将重点介绍下如何保存训练好的模型,直接上代码:frompyspark.sqlimportSparkSessionfrompyspark.ml.featureimportStringIndexer#配置spark,创建SparkSession对象spark=Spark
- SpringBoot_NamedParameterJdbcTemplate介绍及使用
张三疯不疯
springbootspringbootJdbcTemplate动态sql
文章目录1.背景2.需求分析3.技术分析3.1JdbcTemplate3.2NamedParameterJdbcTemplate3.3JdbcTemplate与NamedParameterJdbcTemplate对比总结4.实战:简易通用curd接口开发4.1通用新增接口4.2通用修改接口4.3通用删除接口4.4通用列表接口4.5通用分页查询接口4.6实战完整源码5.其他使用对比总结namedPa
- 国产开源数据框openGauss安装与jdbc连接
renxyz
开源openGauss数据库
一、openGauss安装(企业版)1.获取安装包1.1.从openGauss开源社区下载对应平台的安装包。通过软件包|openGauss登录openGauss开源社区,选择2.0.0版本对应平台企业版安装包(openGauss-2.0.0-CentOS-64bit-all.tar.gz)。单击“下载”。1.2.检查安装包。解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令:ta
- 大数据开发(Spark面试真题-卷六)
Key-Key
大数据spark面试
大数据开发(Spark面试真题)1、SparkHashPartitioner和RangePartitioner的实现?2、SparkDAGScheduler、TaskScheduler、SchedulerBackend实现原理?3、介绍下Sparkclient提交application后,接下来的流程?4、Spark的cache和persist的区别?它们是transformation算子还是ac
- 大数据开发(Hadoop面试真题-卷二)
Key-Key
大数据hadoop面试
大数据开发(Hadoop面试真题)1、在大规模数据处理过程中使用编写MapReduce程序存在什么缺点?如何解决这些问题?2、请解释一下HDFS架构中NameNode和DataNode之间是如何通信的?3、请解释一下Hadoop的工作原理及其组成部分?4、HDFS读写流程是什么样子?5、Hadoop中fsimage和edit的区别是什么?6、Spark为什么比MapReduce更快?7、详细描述一
- Spark从入门到精通29:Spark SQL:工作原理剖析以及性能优化
勇于自信
SparkSQL工作原理剖析1.编写SQL语句只要是在数据库类型的技术里面,例如MySQL、Oracle等,包括现在大数据领域的数据仓库,例如Hive。它的基本的SQL执行的模型,都是类似的,首先都是要生成一条SQL语句执行计划。执行计划即从哪里查询,在哪个文件,从文件中查询哪些数据,此外,复杂的SQL还包括查询时是否对表中的数据进行过滤和筛选等等。2.UnresolvedLogicalPlan未
- 大数据开发(Hadoop面试真题-卷九)
Key-Key
大数据hadoop面试
大数据开发(Hadoop面试真题)1、Hivecount(distinct)有几个reduce,海量数据会有什么问题?2、既然HBase底层数据是存储在HDFS上,为什么不直接使用HDFS,而还要用HBase?3、Sparkmapjoin的实现原理?4、Spark的stage如何划分?在源码中是怎么判断属于ShuffleMapStage或ResultStage的?5、SparkreduceByKe
- Spark Streaming(二):DStream数据源
雪飘千里
1、输入DStream和Receiver输入(Receiver)DStream代表了来自数据源的输入数据流,在之前的wordcount例子中,lines就是一个输入DStream(JavaReceiverInputDStream),代表了从netcat(nc)服务接收到的数据流。除了文件数据流之外,所有的输入DStream都会绑定一个Receiver对象,该对象是一个关键的组件,用来从数据源接收数
- 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独立出来,数据持