- 一文了解 Go time 包的时间常用操作
challenge后端go
前言在日常开发中,我们避免不了时间的使用,我们可能需要获取当前时间,然后格式化保存,也可能需要在时间类型与字符串类型之间相互转换等。本文将会对Gotime包里面的常用函数和方法进行介绍。Now():获取当前本地的时间import("fmt""time")funcmain(){now:=time.Now()fmt.Println(now)//2022-12-0321:06:16.1658077+08
- 一文熟悉 Go 函数
challenge后端go
函数函数的英文单词是Function,这个单词还有着功能的意思。在Go语言中,函数是实现某一特定功能的代码块。函数代表着某个功能,可以在同一个地方多次使用,也可以在不同地方使用。因此使用函数,可以提高代码的复用性,减少代码的冗余。函数的声明通过案例了解函数的声明有哪几部分:定义一个函数,实现两个数相加的功能,并将相加之后的结果返回。funcAdd(num1int,num2int)int{varsu
- 一文了解 Go 的复合数据类型(数组、Slice 切片、Map)
challengego后端
前言上一篇文章讲解了Go的基础语法和基本数据类型,本篇文章将对Go的复合数据类型(数组、切片Slice、Map)进行介绍。数组数组是由特定元素组成的固定长度的序列,元素可以是Go的原生类型(如整形、字符串型和浮点型等)和自定义类型。一个数组可以包含零个或多个元素。通过数组的下标索引可以高效访问和修改每个元素的值,索引从0开始,到数组长度-1结束。数组的创建方式第一种import"fmt"funcm
- go-mongox:简单高效,让文档操作和 bson 数据构造更流畅
后端gomongodb开源
前言在Go语言中使用MongoDB官方框架进行集合操作时,深深感到构建bson数据是一件非常繁琐的工作。字段、逗号,括号等符号的排列,让我感觉仿佛是在进行一场拼图游戏。因此我在想,有没有一个能让我丝滑,高效操作MongoDB的第三方框架呢,遗憾的是,并没有找到符合我预期的框架,索性我就自己动手开发了一个,这就是go-mongox框架的由来。如果你也有类似我的这种感受,相信go-mongox框架能给
- 最详细的谷歌GMS EDLA认证介绍,你想知道的这里都有!
深光标准技术
安卓
一、GMS认证介绍,谷歌EDLA认证介绍,目前最详细的关于EDLA认证的介绍GMS全称是GoogleMobileService(即谷歌移动服务),GMS认证简单来说就是使用安卓系统的移动设备在经过谷歌的一系列测试后取得谷歌的认可,可以合法使用谷歌提供的各种软件服务,包括Chrome、Gmail、YouTube、地图、PlayStore等等。Android设备需要GMS认证才能运行所有Google的
- Go 1.24 新特性:泛型类型别名,让代码变得更灵活、更清晰
go后端
前言Go1.24版本现在完全支持泛型类型别名:类型别名可以像定义的类型一样被参数化。其实这个功能在Go1.23版本里已经被引入,只不过作为一个实验的功能,需要设置对应的环境变量才能使用。本文将介绍Go1.24中的泛型类型别名。首先会回顾一下Go中类型别名的基本概念及其常见的使用场景,随后介绍泛型类型别名的引入背景,最后通过实际的代码示例展示如何利用这一特性进行渐进式重构和其他的使用场景以及作用。准
- gms认证流程_Google GMS认证要求与申请流程
weixin_39971435
gms认证流程
继联发科在2017年11月宣布正式进入谷歌的GMSExpress项目后,日前紫光展锐也宣布了同样的计划,成为本土第一个加入该计划的基带芯片厂商。GMSExpress用于向安卓设备制造商分发软件包,包括GMS套件、谷歌兼容性测试套件(CTS)等。联发科称,此举将帮助采用MTK芯片的厂商缩减成本,同时加快设备的研发进度。此前,基带芯片厂商都是分发BoardSupportPackage(BSP),内含硬
- Gallery2 视频静音功能 闪退 exposed beyond app through Intent.getData()
wxx2150
BUGandroidgallerymutecrash
具体的错误log如下---------beginningofcrash03-2219:19:17.950E/AndroidRuntime(5809):FATALEXCEPTION:main03-2219:19:17.950E/AndroidRuntime(5809):Process:com.android.gallery3d,PID:580903-2219:19:17.950E/AndroidRu
- Git图形化工具【lazygit】
Huazzi_
Gitgitlazygit
简要介绍一下偶然发现的Git图形化工具——「lazygit」概述Lazygit是一个用Go语言编写的Git命令行界面(TUI)工具,它让Git操作变得更加直观和高效。Github地址:https://github.com/jesseduffield/lazygit主要特点主要优势:图形化界面-虽然是终端中运行,但提供了清晰的可视化界面,显示文件状态、分支、提交历史等键盘快捷操作-几乎所有Git操作
- DeepSeek:通用人工智能的探路者与技术革新者——从技术架构到应用生态的全方位解析
sanggou
人工智能架构
一、DeepSeek的发展历程:中国AGI先锋的崛起DeepSeek(深度求索)成立于2023年,是中国人工智能领域的一颗新星。尽管成立时间较短,但其发展速度与技术突破令人瞩目:2023年:公司成立,核心团队由来自全球顶尖高校(如MIT、斯坦福)和科技企业(如GoogleBrain、OpenAI)的AI科学家组成,专注于AGI(通用人工智能)技术的研发。2024年初:推出首个公开产品DeepSee
- RK3568 Android12跳过认证 预置谷歌服务GMS
飞猿_SIR
android
在Rom开发中需要发布海外版本时基本都需要内置google服务,而规范方式集成的话都需要设备进行认证,获取google应用签名等非常复杂的一套流程,一般大厂才有这些资质和资源,这里介绍一种非常规方式集成GMS,跳过设置认证流程,在RK3568android12环境亲测有效。谷歌全家桶中有三个是必现安装的:GoogleServicesFramework【gsf】、GooglePlayServices
- Gossip 协议
disgare
分布式分布式
Gossip协议协议介绍协议流程缺点Gossip算法是一种在分布式系统中广泛使用的通信协议,主要用于信息传播和状态同步。Gossip算法通过节点之间随机的、周期性的信息交换,实现信息的高效传播和系统的最终一致性之前以为Gossip是分布式一致性算法,后来了解到不是,它是通信协议,因此将该内容从之前的博客中拆出来了协议介绍Gossip协议如其名,在办公室,只要一个人八卦一下,在有限的时间内所有的人都
- golang range 的用法
学会了没
golang开发语言后端
在Go语言中,range关键字用于迭代遍历数组(array)、切片(slice)、映射(map)、字符串(string)和通道(channel)中的元素。它的基本语法和用法如下:1.遍历数组/切片nums:=[]int{2,3,4}//同时获取索引和值forindex,value:=rangenums{fmt.Printf(“索引:%d,值:%d\n”,index,value)}//仅获取索引fo
- Go 并发控制:sync.Map 详解
后端go并发并发编程面试
我们知道,Go中的map类型是非并发安全的,所以Go就在sync包中提供了map的并发原语sync.Map,允许并发操作,本文就带大家详细解读下sync.Map的原理。使用示例sync.Map提供了基础类型map的常用功能,使用示例如下:packagemainimport("fmt""sync")funcmain(){varssync.Map//存储键值对s.Store("name","江湖十年"
- go基础语法
cllsse
前后端学习golang开发语言后端
go基础语法先下载安装go,然后到vscode下载go插件某校今年没有一个人考上UESTC,还没发展起来就开历史倒车,实属是大溃败了。byd,很多同学还沉迷电子产品,go学完衔接上瓦,瓦学完衔接上小视频。看看人家家境贫困的同学都开始兼职送外卖了,虽然一天才四五十。食堂里外经常有毕业工作的老学长过来推销东西,一打听都是四川本地人不想到外地工作,感叹专业不好没前途,低薪高压遂跑路,金牌销售才靠谱。1.
- 详细介绍人工智能学习框架
日记成书
反正看不懂系列人工智能
人工智能学习框架是开发者用于构建、训练和部署机器学习模型的核心工具。以下从框架分类、核心框架介绍、学习方法三个维度展开详解:一、主流人工智能框架全景图(一)基础框架层TensorFlow(Google)核心优势:工业级部署能力,支持移动端(TFLite)、浏览器(TF.js)、服务器(TFServing)特色功能:SavedModel格式跨平台兼容,XLA编译器优化计算图适用场景:生产环境部署、大
- golang调用deepseekr1
又菜又爱玩呜呜呜~
golang开发语言后端
1.官方文档2.请求看一下因为deepseek官方API的deepssek-r1响应太慢,于是用了腾讯的API来测试funcmain(){cfg:=config.Config{BaseURL:"https://api.lkeap.cloud.tencent.com",APIKey:"API-KEY",HTTPClient:&http.Client{},}//初始化deepseekd:=deepse
- Golang架构直通车——理解协程和Go调度器
No_Game_No_Life_
Golang架构直通车
文章目录进程、线程与协程Go协程:GoroutinesGo协程调度器Go调度器的设计策略为什么Java坚持多线程而不选择协程?协程和Channel的使用建议进程、线程与协程线程或者进程切换会带来大量的系统开销和上下文切换成本,导致严重的系统开销。在之前的文章中,我们提到过切换进程的开销:切换虚拟地址空间(切换页表、页目录以指向新的地址空间)切换内核栈切换硬件上下文虽然线程切换不需要执行第一步(因为
- golang深度学习-基础篇
老狼伙计
golang编程语言云原生学习笔记golang开发语言后端
基础数据结构及类型字符型-stringstring是Go标准库buildin内置的一个基础数据类型。string是由8比特字节的集合,通常不一定是UTF-8编码的文本。string可以为空(长度为0),但不会是nil。stringisthesetofallstringsof8-bitbytes,conventionallybutnotnecessarilyrepresentingUTF-8-enc
- langchain-go调用deepseek
又菜又爱玩呜呜呜~
golangchaingolang开发语言
1.查看官网发现只有ollama,openai,Mistral于是查看代码2.代码查看先从llm,err:=openai.New(url,model,token)开始发现New方法可以传option参数,再看一下option参数const(tokenEnvVarName="OPENAI_API_KEY"//nolint:gosecmodelEnvVarName="OPENAI_MODEL"//no
- Golang深度学习
老狼伙计
golang编程语言云原生学习笔记golang开发语言
前言在2009年,Google公司发布了一种新的编程语言,名为Go(或称为Golang),旨在提高编程效率、简化并发编程,并提供强大的标准库支持。Go语言的设计者们希望通过Go语言能够解决软件开发中的一些长期存在的问题,比如并发编程的复杂性、垃圾回收机制的效率以及跨平台的兼容性等。以下是Go语言的一些关键背景和特性:并发编程Go语言内置了并发原语,如goroutines和channels,这使得并
- pinpoint安装及介绍
jack-life
pinpointpinpoint
Pinpoint翻译自Pinpoint的github首页内容Pinpoint是一个开源的APM(ApplicationPerformanceManagement/应用性能管理)工具,用于基于Java的大规模分布式系统。仿照GoogleDapper,Pinpoint通过跟踪分布式应用之间的调用来提供解决方案,以帮助分析系统的总体结构和内部模块之间如何相互联系.注:对于各个模块之间的通讯英文原文中用的
- Genesis项目安装与使用指南
倪炎墨
Genesis项目安装与使用指南genesisAllgenericfunctionsforGoyoueverneed!项目地址:https://gitcode.com/gh_mirrors/gen/genesis项目概述本指南基于GitHub上的开源项目life4/genesis,旨在帮助开发者理解和使用此项目。然而,值得注意的是,提供的链接似乎并不指向一个实际存在的或者明确的开源项目“genes
- 三角函数公式
菜就多练,输不起,就别玩
c语言开发语言算法c++
三角函数是数学中属于初等函数中的超越函数的一类函数。它们的本质是任何角的集合与一个比值的集合的变量之间的映射。通常的三角函数是在平面直角坐标系中定义的。其定义域为整个实数域。三角函数看似很多,很复杂,但只要掌握了三角函数的本质及内部规律就会发现三角函数各个公式之间有强大的联系。而掌握三角函数的内部规律及本质也是学好三角函数的关键所在。基本信息中文名三角函数外文名trigonometricfunct
- Golang `syscall` 包使用大全:开发者必备的底层操作指南
walkskyer
golang标准库golangphp开发语言
Golang`syscall`包使用大全:开发者必备的底层操作指南什么是`syscall`包`syscall`包的使用场景为什么选择`syscall`而不是更高级的包文件操作打开文件:`syscall.Open`读取文件:`syscall.Read`写入文件:`syscall.Write`关闭文件:`syscall.Close`文件权限操作网络操作创建socket:`syscall.Socket`
- 后端技术栈都有哪些
python资深爱好者
webhttp网络安全
在后端技术领域,有很多不同的技术栈可供选择,这取决于项目的具体需求、团队的技能和经验以及所使用的框架或库的流行程度。以下是一些常见的后端技术栈的示例:Node.js:框架:Express.js,Koa.js,NestJS,Hapi.js数据库:MongoDB,MySQL,PostgreSQL,Redis模板引擎:EJS,Pug(Jade),Nunjucks缓存:Redis消息队列:RabbitMQ
- 快速学习Django框架以开发Web API
百锦再@新空间代码工作室
Python-39学习django前端
简介Django是一个高级PythonWeb框架,它鼓励快速开发和简洁实用的设计。由经验丰富的开发者构建,Django可以为你处理大量的Web开发任务,使你能够专注于编写应用的关键组件。Django的模块化设计、可复用性和广泛的社区支持,使其成为开发Web应用和API的理想选择。在本文中,我们将探讨如何使用Django开发WebAPI。我们将首先了解Django的基本结构,然后学习如何创建一个简单
- Django数据库操作
南瓜啊
djangopython
1、ORM创建、删除、修改数据库的表中的数据,但不能创建数据库往数据库表中写入数据表名:app名称_类名的小写2、操作表数据fromdjango.dbimportmodelsclassDepartment(models.Model):title=models.CharField(verbose_name="部门",max_length=32)2.1新建#一次插入单条数据Department.obj
- Django实现API配合JWT进行用户验证的方法
Mr数据杨
PythonWeb开发pythonjsdjangoJWT
在现代Web应用中,API认证是一项至关重要的功能。随着分布式架构和跨平台应用的发展,传统的Session认证方式逐渐难以满足需求。JSONWebToken(JWT)提供了一种无需在服务端存储用户状态的认证方式,适用于无状态的应用程序。本教程将以Django为例,介绍如何通过JWT实现对API的认证控制,包括基本配置与实际应用中的代码示例。文章目录传统的Session和JWT的区别JWT工作原理D
- VMware Centos8突然上不了网,`Could not resolve host: mirrorlist.centos.org` 错误
kewen_123
linux运维服务器
VMwareCentos8突然上不了网,疑似是强制关机导致的#重启网络连接nmclinetworkingon#查看网卡ipnmclideviceshow
- 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独立出来,数据持