- Kotlin非常用关键字使用记录
Developings
kotlin开发语言android
1,typealias声明一个类型别名。样例:typealiasMyBean=ItemBeandataclassItemBean(valtitle:String,valintent:Intent)valbean=MyBean("11",Intent())实现了将ItemBean数据模型取了一个别名MyBean,后续我们可以像使用别名一样使用他们2,crossinline禁止传递给内联函数的lamb
- blog-engine-06-pelican 静态网站生成 支持 markdown 和 reST 语法
老马啸西风
java
拓展阅读blog-engine-01-常见博客引擎jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman对比blog-engine-02-通过博客引擎jekyll构建githubpages博客实战笔记blog-engine-02-博客引擎jekyll-jekyll博客引擎介绍blog-engine-02-博客引擎jekyll-jekyl
- 最新版android stuido加上namespace
修行者对666
androidstudio配置问题android
每个Android模块都有一个命名空间,此命名空间用作其生成的命名空间由模块的build.gradle文件中的namespace属性定义,如以下代码段所示。namespace最初会设为您在创建项目时选择的软件包名称。KotlinGroovyandroid{namespace"com.example.myapp"...}在将应用构建为最终应用软件包(APK)时,Android构建工具会将命名空间用作
- Linux实战笔记(三) 文件压缩
半虹
LinuxLinuxtarziprargzipbzip2gz
大家好,我是半虹,这篇文章来讲Linux系统中常用的文件压缩方式0、序言在Linux系统中,存在许多打包或压缩文件的工具这篇文章会对一些常用的工具进行分类整理和介绍如果只是需要知道怎么对不同格式的文件做解压缩,可以直接跳转到本文最后的总结部分如果希望了解不同压缩工具的使用方法和应用场景,那么可以跟随正文一起进行深入探讨好了,下面是正文部分1、tartar命令本质上是用于打包文件,并不会做压缩,其打
- kotlin基础类型
0246eafe46bd
注释单行注释和多行注释kotlin和java一样支持当行(//注释内容)和多行注释(/*注释内容*/),不同的是kotlin的多行注释支持嵌套,例如:privatefuntestComment(msg:String){//单行注释/*多行注释开头/*嵌套的注释内容*/多行注释结尾*/Log.d(TAG,"multilineComment:$msg")}文档注释Kotlin的文档注释和java一样,
- Python中的增强现实(AR)技术和应用
api77
api电商apipythonar开发语言性能优化自然语言处理数据库java
增强现实(AR)是一种技术,它允许用户在真实环境中与虚拟物体进行交互。在Python中实现AR应用通常涉及使用专门的AR库和框架,这些库和框架提供了创建和渲染虚拟内容的工具。一个流行的AR框架是ARKit(对于iOS设备)和ARCore(对于Android设备),但这些框架主要是用原生语言(如Swift和Java/Kotlin)编写的。对于Python,虽然没有直接的官方支持,但可以使用一些库和工
- kotlin 程序 编译与执行
workingwei
kotlinkotlin开发语言
准备kotlin环境Ubuntu安装kotlin1.创建一个名为hello.kt文件,代码如下:funmain(args:Array){println("Hello,World!")}2.使用Kotlin编译器编译应用kotlinchello.kt-include-runtime-dhello.jar-d:用来设置编译输出的名称,可以是class或.jar文件,也可以是目录。-include-ru
- Android Kotlin打开相机拍照和选择图片
FredricZhu
MainActivity.ktpackagecom.example.fredric.takephotoimportandroid.Manifestimportandroid.app.Activityimportandroid.content.Intentimportandroid.content.pm.PackageManagerimportandroid.graphics.BitmapFacto
- 安卓kotlin面试题 101-105
️ 邪神
Android面试题androidkotlin开发语言
101.简述如何在Kotlin中比较两个字符串?Kotlin语言允许多种方法来检查两个字符串是否相等。使用比较运算符在Kotlin中,==用于检查两个对象的结构相等性。如果两个对象具有相同的值,它将返回true:funmain(args:Array){valstr1:String="HelloWorld"valstr2:String="HelloKotlin"valstr3:String="Hel
- Android程序员的Java后台学习建议
Androidgiao
作为一个原生Android开发,一路走来经历了Java、Kotlin的洗礼;在“原生要凉”的氛围下学习Cordova、ReactNative、Weex、Flutter等跨平台框架;之后又在“大前端”的口号下延伸到React、Vue等前端框架的学习;最终面对“全栈”的诱惑,又撸起了SpringBoot的Javaweb开发。image.pngAndroid开发作为“安身立命”的资本,在面对如今“移动要
- 在 build.gradle.kts 添加 阿里云仓库
修行者对666
安卓gradle学习
在build.gradle.kts添加maven仓库使用kotlinscriptDSL配置build.gradle.kts(高版本移动到settings.gradle.kts)时,添加maven仓库的方式如下:pluginManagement{repositories{maven{setUrl("https://maven.aliyun.com/repository/google")}maven{
- Kotlin 中的 with 函数简介
好奇的菜鸟
Kotlinkotlinwindows开发语言
在Kotlin中,with函数是一个非常方便的工具,它可以帮助简化对特定对象的操作。本文将介绍with函数的使用方法,并与Java中的实现进行对比。Kotlin中的with函数with函数允许在一个对象上执行一系列操作,而无需重复引用该对象。它的语法结构如下:funwith(receiver:T,block:T.()->R):R其中,receiver参数是你想要执行操作的对象,而block参数是一
- 【Spring连载】使用Spring Data的Repositories----存储库方法的null处理
85程序员老王
SpringDataspring数据库java后端
【Spring连载】使用SpringData的Repositories----存储库方法的null处理一、Nullability注解二、基于Kotlin存储库中的Nullability从SpringData2.0开始,返回单个聚合实例的存储库CRUD方法使用Java8的Optional来指示潜在的值缺失。除此之外,SpringData还支持在查询方法上返回以下包装类型:com.google.com
- Java关于空指针的防范与思考
wssisknight
前言对于编程开发者而言空指针异常是非常常见的,基本上各类编程语言都存在空指针异常,对于Java开发者而言,相信NullPointerException是大家再熟悉不过的。虽然空指针很常见,但是空指针对系统造成的危害却是不容忽视的,因此很多现代编程语言在语法上就对空指针进行了很多避免,比如Kotlin。但是对于Java语言有没有什么好的方式呢?空指针分析对于空指针的出现,其实一般可以归纳为以下几个原
- 【Kotlin】探索回调机制:函数类型、高阶函数和接口
吴同学是个程序员
Kotlinkotlin开发语言
当在Kotlin中开发应用程序时,经常会遇到需要使用回调机制的情况。回调是一种常见的编程模式,用于在异步操作完成后通知调用方,并处理相应的结果或事件。在Kotlin中,有几种不同的方法可以实现回调,包括使用函数类型、高阶函数和接口。每种方法都有其优点和适用场景,因此在选择适当的回调机制时,了解它们的特点是非常重要的。在本文中,我们将深入探讨Kotlin中的三种回调机制:函数类型、高阶函数和接口。我
- Kotlin基础——DSL
松仔log
#Kotlin基础kotlin开发语言android
DSL(领域特定语言)常见的DSL就是SQL和正则表达式,用于操作数据库和文本字符串,KotlinDSL通常为嵌套的Lambda表达式或链式方法,如https://github.com/gradle/gradle-script-kotlin用于构建Gradle脚本https://github.com/JetBrains/Exposed用于操作数据库https://github.com/Kotlin
- Flutter学习2 - Dart
KillerNoBlood
FlutterLearningflutter学习Dart
Dart语言特点:1、强类型语言,静态类型Dart2.0开始便是强类型语言,而且是静态类型的(可以类比Java,C#等)强类型语言的优点:所有类型的检查必须在编译的时候完成前端开发的js语言是弱类型的语言强类型的语言需要在定义的时候指定类型,如果不指定,编译器也可以在赋值的时候推断出变量类型2、面向对象的语言,OOP面向对象的语言有:Java、Kotlin、Objective-C、Swift、Py
- Apache Calcite 动态数据管理框架整合 csv 实战笔记
后端java
序言我们在ApacheCalcite动态数据管理框架介绍介绍了calcite的基本功能,本文一起来看一下如何实现一个csv的sql查询。入门例子依赖4.0.0org.examplecalcite-learn1.0-SNAPSHOTpomcalcite-learn-basic88UTF-81.20.0org.apache.calcitecalcite-core${calcite.version}or
- shiro 整合 spring 实战及源码详解
老马啸西风
java
序言前面我们学习了如下内容:5分钟入门shiro安全框架实战笔记shiro整合spring实战及源码详解相信大家对于shiro已经有了最基本的认识,这一节我们一起来学习写如何将shiro与spring进行整合。spring整合maven依赖org.apache.shiroshiro-spring1.7.0org.springframeworkspring-context4.3.13.RELEASE
- 应急响应实战笔记02日志分析篇(3)
Pluto-2003
应急响应笔记web安全安全威胁分析网络安全
第3篇:Web日志分析ox01Web日志Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。我们来看一条Apache的访问日志:127.0.0.1--[11/Jun/2018:12:47:22+0800]"GET/login.htmlHTTP/1.1"200
- Android中Kotlin简单入门(一),app启动优化策略
m0_64604042
程序员面试移动开发android
那么怎么把Java转换成Kotlin呢?打开创建好的新项目,知道MainActivity.java文件使用ConvertJavaFiletoKotlinFile命令。可以通过菜单栏依次调出Code|ConvertJavaFiletoKotlinFile或使用快捷键(菜单栏入口可见)完成操作。转换之前的Java代码:importandroid.support.v7.app.AppCompatActi
- Flutter run 一直 Running Gradle task ‘assembleDebug’…
-晨-风-
flutter
发生缘由Flutter项目引入fluttertoast插件后,执行Flutterrun一直RunningGradletask‘assembleDebug’…,最后发现下载kotlin-compiler-embeddable-7.1.0.jar特别的缓慢。运行环境电脑系统版本:Windows1064bitVSCode:1.72.0(usersetup)Flutter:3.16.0解决方案此解决方案同
- Flutter Android开发 梳理Google Material Design颜色体系
夏目艾拉
flutterandroid前端
前言做安卓开发(Kotlin语言),Flutter开发的人员应该都听说过谷歌一直推崇的MaterialDesign,而MaterialDesignColor是其推崇的颜色体系,具体来说,MaterialDesignColor是一套旨在帮助设计师和开发者创建视觉吸引力和一致性界面的指南。它不仅包括了丰富的颜色选择,还提供了如何有效使用这些颜色的建议正文而我们深入了解MaterialDesignCol
- android中实现底部导航栏
?。。!
android自定义控件底部导航栏页面切换
1、引言底部导航栏在app应用中是十分常见了,大部分的安卓应用中也都实现了底部导航栏的功能,这里我就以我以前做的一个简单小说阅读软件为例,为大家演示一下底部导航栏的使用,需要的朋友直接复制代码过去改写就行了。2、代码实现2.1、主界面布局2.2、主界面代码这里包含了一些进行操作实际功能的代码,大家复制时直接忽略就行。packagecom.kotlin.novel;importandroidx.an
- 从新手到大神,初级Android程序员的成长之路
代码不难写
android
前言现在,Android行业正处在一个技术迭代加速、生态布局深化的关键节点,面对竞争激烈的市场行情,初级安卓程序员如何找准方向,稳扎稳打,实现从新手到资深的华丽转身呢?那就让我们一起探索在当前Android行情下,如何步步为营,赢在技术进阶的起跑线上。筑牢基础,稳抓核心在Android领域,扎实掌握Java或Kotlin编程语言是必不可少的基础,同时,深入理解Android四大组件、生命周期管理、
- Kotlin基础——函数定义及调用
一切皆是定数
Kotlin语言kotlinwindows开发语言
文章目录1函数参数1.1命名参数1.2参数默认值1.3可变参数2顶层函数和属性2.1顶层函数2.2顶层属性3扩展函数和属性3.1扩展函数3.2导入和使用扩展函数3.3从Java中调用扩展函数3.4不可重写的扩展函数3.5扩展属性4中缀调用和解构声明4.1中缀调用4.2解构声明5字符串和正则表达式6局部函数和扩展1函数参数1.1命名参数funmain(){vallist=arrayListOf(1,
- 【4】Kotlin基础——接口的多种使用
熊熊饲养员
奇妙的Kotlin之旅kotlin开发语言android
提示:此文章仅作为本人记录日常学习使用,若有存在错误或者不严谨得地方,欢迎各位在评论中指出。文章目录一、接口1.1接口的声明与实现1.2面向接口编程(多态)1.3接口的默认实现函数1.4Kotlin语言中的修饰符一、接口Kotlin语言和Java语言都是单继承结构,即一个类最多只能继承一个父类,但是却可以实现任意多个接口。(注意这里的"最多"代表0个或1个)1.1接口的声明与实现我们先来了解一下如
- Android---Retrofit实现网络请求:Kotlin版
别偷我的猪_09
#Android第三方库androidretrofitkotlin
简介在Android开发中,网络请求是一个极为关键的部分。Retrofit作为一个强大的网络请求库,能够简化开发流程,提供高效的网络请求能力。Retrofit是一个建立在OkHttp基础之上的网络请求库,能够将我们定义的Java接口转化为相应的HTTP请求,Retrofit是适用于Android和Java的类型安全HTTP客户端。通过Retrofit,我们可以轻松发起网络请求,还能将服务器返回的数
- Kotlin 流程控制
riskLoveHe
Kotlin流程控制Kotlin
本文主要内容翻译自Kotlinreferences。if语句块和if-else表达式在Java中,if关键字只能用来表示一个语句块,语句块是没有值的,也就是说我们不能将一个if语句块赋值给某个变量。Kotlin为if关键字赋予了其他的作用,使其能够代替condition?exp1:exp2三元运算符,正因“if-else表达式”替代了三元运算,所以Kotlin中不包含三元运算符。if语句块Kotl
- Kotlin学习日记-控制流程
浩辉-Hy
Kotlin-学习日记kotlin学习开发语言
1.条件与循环1.1If表达式在Kotlin中,if是一个表达式:它会返回一个值。因此就不需要三元运算符(条件?然后:否则),因为普通的if就能胜任这个角色varmax=aif(ab){max=a}else{max=b}//作为表达式valmax=if(a>b)aelseb如果您将if其用作表达式,例如,用于返回其值或将其分配给变量,则else分支是强制性的。1.2When表达式when定义具有多
- 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独立出来,数据持