- 第10讲_Spring对Dao的支持
吴国友
Spring框架优秀就是在于MVC开发的时候一旦需要对底层的数据库操作,它可以很好的支持JDBC技术,还有现在主流的ORM框架(Hibernate,MyBatis)技术。重点先介绍Spring对JDBC支持。在Spring对JDBC支持中提供了一个模板JdbcTemplate,此模板封装了对JDBC操作的许多方法,且消除了忽视资源释放而引起的漏洞Spring对JDBC操作需要导入的jar(开发环境
- 数据库的锁机制(悲观锁/乐观锁)
程宇寒
数据库悲观锁乐观锁mysql并发
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernate、ta
- Hibernate的Criteria查询因某个字段为空,导致查询数据为空问题
clk_esunny
随笔javahibernatejava查询
今天,使用Hibernate的Criteria查询Oracle数据库表数据,发现只要表里面某个字段为空,查询不出来数据,这是为什么呢?下面解决方法介绍一下:(下面的表User_Info,只是举例说明使用)一、查找原因,排除法(1)是不是这个Criteria查询方法不支持?a.采用普通的Hibernate查询QueryqyeryObj=session.createQuery("FROMUSER_IN
- Spring框架
今日份学习
springjava后端
Spring是什么Spring是一个控制反转和面向切面的容器框架Spring的主要模块1、CoreCore模块是Spring的核心类库,Core实现了IOC功能。2、AOPApringAOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常见的拦截器,供用户自定义和配置。3、orm提供对常用ORM框架的管理和支持,hibernate、mybatis等。4、DaoSpring提供对J
- 请解释Hibernate中的SessionFactory、Session和Transaction的作用。在Hibernate中,如何配置实体类与数据库表的映射关系?
AaronWang94
java数据库hibernateoracle
请解释Hibernate中的SessionFactory、Session和Transaction的作用。在Hibernate中,SessionFactory、Session和Transaction都是非常重要的组件,它们各自扮演着不同的角色,共同协作以完成数据库操作。SessionFactorySessionFactory是Hibernate框架的核心接口,它的主要作用包括:创建Session对象
- Java校验注解-jsr303
瞿大官人
jsr简介jsr是JavaSpecificationRequests的缩写,意思是Java规范提案jsr303JSR-303是JAVAEE6中的一项子规范,叫做BeanValidation,HibernateValidator是BeanValidation的参考实现.HibernateValidator提供了JSR303规范中所有内置constraint(约束)的实现,除此之外还有一些附加的con
- Spring4+Hibernate4+Mybatis Maven的pom配置
wanhf11
Maven
4.0.0org.digdataswustoj30.0.1-SNAPSHOTwarswustoj3UTF-84.0.4.RELEASE1.7.41.7.134.3.8.Final3.3javaxjavaee-api7.0providedorg.glassfish.webjavax.servlet.jsp.jstl1.2.2providedjavax.servletservlet-api2.5pro
- Java Web Spring核心之AOP的解析及实战(AOP的实现、切入点、Aspect Spring的持久化 Hibernate)
showswoller
JAVAWebjavaspringhibernatespringbootjava-ee
创建不易觉得有帮助请点赞关注收藏~~文章目录前言一、AOP的简单实现二、Spring的切入点三、Aspect对AOP的支持四、Spring持久化前言AOP(AspectOrientedProgram面向切面编程)的实现基于Java的代理机制,下面介绍SpringAop的术语1:切面(aspect)切面是对象操作过程中的截面如图19.1所示切面是指图中的平行四边形2:连接点(joinpoint)连接
- JPA Hibernate查询n+1问题,关联实体查询加载慢优化
Asparrow
JPAjavajpahibernatemysql优化
项目场景:提示:在使用JPA列表查询查询,明细表关联主表信息,这时查询异常慢需要20s+接口才能返回例如:学生表关联班级表,多个学生关联一个班级.在对学生表列表查询并关联查询班级表时,JPA查询发送了n+1条查询语句(n为数据条数)问题描述:这里加入伪代码:/***班级表**/@Entity@Table(name="student_class")classStudentClass{/***班级名称
- java web 前端开发框架和流程
韩大帅666
前端前端
1通常JavaWeb开发框架举个例子,对于广告系统的来说,我们先不管一些job,CACHE,config...这些优化,些框架和分层可以是这样的,MVC的技术选型:V:FreeMarkervsJSP/VelocityC:SpringMVCvsStruts/WebworkM:SPRING/JPA/HibernatevsiBatis2前端V的架构前端开发刚兴起的阶段,前端开发人员的工作经常穿插在后端开
- 带你搭一个SpringBoot+SpringData JPA的环境
java云帆
不知道大家对SpringBoot和SpringDataJPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringDataJPA可以分分钟上手的。其实我在学完SpringBoot和SpringDataJPA了之后,写过一个小Demo,但一直没发出来而已(懒)。而最近要写毕业设计的一个管理模块(CRUD),并且我又没写过相关SpringBoot和Spri
- 2018年java编程发展空间大吗?
Java小辰
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmv
- PO、POJO、BO、AO、VO、DTO、DO、DAO
HachiLin
1.POpersistantobject:持久层对象有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。在hibernate持久化框架中与insert/delet操作密切相关。PO中不应该包含任何对数据库的操作。2.POJOplainordinaryjavaobject:无规则简单java对象传统意义的java对象。可以转化为PO、DTO、VO,比如P
- mybatis 深入剖析
爱可2020
java中提到持久层框架,相信没有人不知道mybatis的存在,相对于JDBC她多了一份干练(jdbc工作量大),相对于Hibernate她又多了一份灵动(HQL虽然方便,但台呆板),面对如此尤物,今天我们就一起走就她的世界。一、mybatis的简单实现→准备工作1.创建实体类和表映射2.导入maven依赖→编写接口和mapper为文件注意:在idea中,直接把资源文件放在src文件夹下,如果不进
- Oracle中nlssort排序介绍
永不言败-lzw
javaWebHibernate
最近开始在公司维护一个比较老的项目,用的是Hibernate技术,由于已经抛弃Hibernate许久,所以遇到一些问题还是会重新去认识。最近计划把Hibernate中遇到的部分问题,自己归纳一下,方便日后查看。一、Oracle中nlssort排序介绍在oracle9i以前中文是按照二进制编码来排序的但是在oracle9i中新增了按照、拼音、笔画排序的的功能、就是在orderby的时候设置。SCHI
- MyBatis篇----第二篇
数据大魔王
java面试题套2mybatis
系列文章目录文章目录系列文章目录前言一、MyBatis框架适用场合二、MyBatis与Hibernate有哪些不同?三、#{}和${}的区别是什么?四、当实体类中的属性名和表中的字段名不一样,怎么办?前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。一、MyBatis框架适用场合1、MyBatis专注于
- Spring @Transactional 声明式事务管理 getCurrentSession
irelandken
Springspringsessionclassthreadhibernateobject
Spring@Transactional声明式事务管理getCurrentSession在Spring@Transactional声明式事务管理的配置中,hibernate.current_session_context_class=thread…这一句是不能加的…加了就会出错..那为什么不能加呢?那是因为在Spring事务管理中,currentSession是绑定到SpringSessionCo
- 关于Java的ORM及 PHP直接面向数据库关系 模式的思考
irelandken
最近半年学习了PHP,在PHP面向数据库这一层次,我们不用ORM,也没有实体类的定义(如User类),直接就是面向数据库表的,读取数据时,直接返回个K-V形式的Array;而以前做Java开发时,用的是Hibernate框架,有实体类定义(如User类),里面定义User类的每个属性及其类型,读取数据库后,再转换为实体类;这种模式经常遇到的问题是:1,修改数据库表时,要同时修改User类,2,当我
- JPA通过Statement拦截器动态修改sql表名
天使手儿
sql数据库jpa
前言jpa是通过对实体上注解表名的方式来绑定对象和数据库表的关系,并进行读写的。但有时我们会需要动态的读写表,比如同一张表带日期后缀名table_yyyyMM。本文介绍如何使用拦截器来达到这一目的。jpa拦截器在生成jdbc语句之前,hibernate会将sql经过拦截器处理。我们可以通过实现StatementInspector接口来自定义在拦截到sql时如何进行处理。接下来实现接口,并做相应的表
- 【java】Hibernate访问数据库
尘中928
编程#javajava数据库hibernate
一、Hibernate访问数据库案例Hibernate是一个在Java社区广泛使用的对象关系映射(ORM)工具。它简化了Java应用程序中数据库操作的复杂性,并提供了一个框架,用于将对象模型数据映射到传统的关系型数据库。下面是一个简单的使用Hibernate访问数据库的示例案例。首先,需要添加Hibernate和数据库驱动的依赖到项目。假如正在使用Maven,需要添加如下依赖到pom.xml文件:
- Oracle Error:ORA-01465: 无效的十六进制数字【解决办法】
米米_a13d
出现这个问题的原因:有可能是因为Oracle表中的字段有BLOB的类型但是JAVA使用String来接收这个字段的,使用Hibernate自带的create方法添加数据时,会报错:无效的十六进制数字解决方法:1、更改数据库中的字段类型改为NCLOB类型,2、使用@Query自己写SQL把String类型转成字节insertintoXXXtable(CONTENT)values(to_blob(二进
- jdbc和mybatis的区别
cherry_vincent
走进Java的世界jdbc与mybatis
mybatis也是基于JDBC的。Java与数据库操作仅能通过JDBC完成。mybatis也要通过JDBC完成数据查询、更新这些动作。mybatis仅仅是在JDBC基础上做了,OO化、封装事务管理接口这些东西。JDBC是地基,mybatis/Hibernate是两栋外形各自有特点的楼房,楼房之间可以比较!地基就这一种。其他拓展传统JDBC操作数据使用JDBC编程需要连接数据库,注册驱动和数据库信息
- Spring 设计模式及事务
happyJared
Spring设计模式应用工厂设计模式:Spring通过BeanFactory、ApplicationContext工厂创建bean对象。代理设计模式:SpringAOP功能的实现。单例设计模式:Spring中的Bean默认都是单例的。模板方法模式:Spring中jdbcTemplate、hibernateTemplate等以Template结尾的对数据库操作的类,它们就使用到了模板模式。观察者模式
- 【后端高频面试题--Mybatis篇】
码上有前
后端mybatisjavaspringboot
作者:“码上有前”文章简介:后端高频面试题欢迎小伙伴们点赞、收藏⭐、留言后端高频面试题--Mybatis篇什么是Mybatis?Mybatis的优缺点?Mybatis的特点Mybatis框架适合场合JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?MyBatis与Hibernate有哪些不同?#谈一下你对mybatis缓存机制的理解?Mybatis中一级缓存与二级缓存MyBatis在
- Hibernate学习笔记 | Session详解
一颗白菜_
Session概述Session提供了基本的保存,更新,删除和加载Java对象的方法。Session具有一个缓存,位于缓存中的对象称为持久化对象,它和数据库中的相关记录对应。站在持久化的角度,Hibernate把对象分为4种状态,持久化状态,临时状态,游离状态,删除状态。Session的特定方法能使对象从一个状态转换到另一个状态。Session缓存在Session接口的实现中包含一系列的Java集
- 深入理解乐观锁与悲观锁
java成功之路
在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是数据库系统中有乐观锁和悲观锁的概念,像memcache、hibernate、tair等
- Java编程学习:集合框架详解
Java小辰
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmv
- 【知识整理】技术新人的培养计划
卢卡上学
文心一言AIGC人工智能php技术团队新人培养git
一、培养计划落地实操1.概要新人入职,要给予适当的指导,目标:1、熟悉当前环境:生活环境:吃饭、交通、住宿、娱乐工作环境:使用的工具,Mac、maven、git、idea等2、熟悉并掌握工作技能:技术栈:Spring、Hibernate、Cache、Solr、MySQL(根据公司内部技术使用调整)内部协作工具:wiki(Confluence)、task(JIRA)、git(Stash)快捷操作:M
- POI异步导入Excel兼容xsl和xlsx
weixin_33775572
数据库jsonjava
项目架构:spring+struts2+hibernate4+oracle需求:用户导入excel文件,导入到相应的数据表中,要求提供导入模板,支持xls和xlsx文件思路分析:1、提供一个下载链接,点击下载,可以使超链接,src直接是项目路径加文件名。2、通过上传文件,服务器接收上传,返回一个上传后的服务器本地路径,通过ajax异步赋值到jsp的路径隐藏域。3、ajax异步提交导入请求,后台处理
- hibernate框架学习及其与mybatis的关联
一览众山小-br
hibernate学习mybatis
目录一、什么是hibernate二、编写一个hibernate的maven项目三、hibernate和mybatis的对比四、hibernate的creteria和mybatis的example.creteriaGitee仓库:https://gitee.com/inandout/hibernate---nange/tree/dev/一、什么是hibernate百度百科Hibernate官网Myb
- 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独立出来,数据持