啥叫ORM
名字:
object / relation map
对象关系映射
定义:
通过(描述对象和数据库之间映射的)元数据把对象自动转为关系数据
一般都是作为中间件
优缺:
优点是自动化,屏蔽了SQL语句,而且可以自动进行一些优化处理
缺点是多了额外的开销(难道不用ORM就不用转化了吗?)
背景:
随着软件复杂程度的提升面向对象编程成为编程的主流
数据持久化一般都放在关系型数据库中。(难道说非关系型只是为了性能?)
业务实体在内存中体现为对象,在数据库中体现为关系数据。
然而这两个不能直接转化,对象的组合继承关系没办法在数据库中直接体现。(啥意思啊?)
原理:
通过配置文件关联对象属性和数据库表字段
query的时候就把表字段拿出来放到对象属性上
insert/update的时候就把属性绑定到SQL语句上,再自动执行SQL语句。
啥叫ORM的更多相关文章
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
		
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
 - Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms
		
行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...
 - UWP开发之ORM实践:如何使用Entity Framework Core做SQLite数据持久层?
		
选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软 ...
 - 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】
		
前言 继之前发的帖子[ORM-Dapper+DapperExtensions],对Dapper的扩展代码也进行了改进,同时加入Dapper 对Lambda表达式的支持. 由于之前缺乏对Lambda的知 ...
 - CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维
		
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...
 - CYQ.Data V5 从入门到放弃ORM系列:教程 - Log、SysLogs两个日志类使用
		
Log 静态类介绍: Public Static (Shared) Methods GetExceptionMessage 获取异常的内部信息 WriteLogToDB Overloaded. 将日志 ...
 - CYQ.Data V5 从入门到放弃ORM系列:教程 - MAction类使用
		
背景: 随着V5框架使用者的快速增加,终于促使我开始对整个框架编写完整的Demo. 上周大概花了一星期的时间,每天写到夜里3点半,终完成了框架所有功能的Demo. 同时,按V5框架名称空间的顺序,对每 ...
 - ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
		
前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET——“Jws.Mono”.由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间 ...
 - 最好的5个Android ORM框架
		
在开发Android应用时,保存数据有这么几个方式, 一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择). 对于第一种方式, ...
 - Asp.Net Mvc通用后台管理系统,bootstrap+easyui+权限管理+ORM
		
产品清单: 1.整站源码,非编译版,方便进行业务的二次开发 2.通用模块与用户等基础数据的数据库脚本 3.bootstrap3.3.1 AceAdmin模板源码 4.easyui1.3.5源码 5.F ...
 
随机推荐
- 【hdu 1848】Fibonacci again and again
			
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
 - HDU - 6333 Problem B. Harvest of Apples  (莫队)
			
There are nn apples on a tree, numbered from 11 to nn. Count the number of ways to pick at most mm a ...
 - 使用SuperWebSocket实现Web消息推送
			
在大部分Web系统中,我们可能遇到需要向客户端推送消息的需求.SuperWebSocket第三方库能让我们轻松的完成任务.SuperWebSocket第三方库可以从网上下载,不过通过Visual St ...
 - FreeNOS学习3——了解目录结构和Main函数
			
下载源码的文件夹,看到里面有以下内容: 解释一下里面都有啥 lib -> 共享代码 1.libfs 文件系统(磁盘管理) 2.liballoc 内存分配和虚拟内存映射(内存管理) 3.libex ...
 - 机器学习- Numpy基础 吐血整理
			
Numpy是专门为数据科学或者数据处理相关的需求设计的一个高效的组件.听起来是不是挺绕口的,其实简单来说就2个方面,一是Numpy是专门处理数据的,二是Numpy在处理数据方面很牛逼(肯定比Pytho ...
 - 开发当中curl简单使用
			
curl是linux上可以发送http请求的命令.当然Postman是一个很好的接口调用管理工具,但在验证一个linux服务器调用另外一个linux服务器API是否可用的场景下,非curl命令莫属. ...
 - MVC 之集合类转化为DataTable
			
private static DataTable ToDataTableTow(IList list) { DataTable result = new DataTable(); if (list.C ...
 - 作业要求 20191010-1 Alpha阶段贡献分配规则
			
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8744 贡献分分配规则: 小组五位成员,每位成员有入团队贡献分10分,每个 ...
 - ssh保持连接不断开
			
使用ssh连接服务器,长时间不使用,会自动断开,控制台会卡死无法使用,现提供以下两个方案解决这个问题: [服务器主动保持连接] 修改服务器配置文件: vim /etc/ssh/sshd_config ...
 - awsl
			
from enum import Enum, uniquefrom math import sqrtfrom random import randint import pygame @uniquecl ...