精华内容
下载资源
问答
  • 02_常见的ORM框架有哪些

    千次阅读 2019-08-12 14:26:51
    常见的orm框架:Mybatis(ibatis)、Hibernate、Jpa

    常见的orm框架:Mybatis(ibatis)、Hibernate、Jpa

    展开全文
  • 主流 Java ORM 框架有哪些ORM 是 Object Relational Mapping 的缩写,译为 “对象关系映射” 框架。 所谓的 ORM 框架就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述 Java 对象与...

    主流 Java ORM 框架有哪些?

    ORM 是 Object Relational Mapping 的缩写,译为 “对象关系映射” 框架。
    所谓的 ORM 框架就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述 Java 对象与数据库表之间的映射关系,自动将 Java 应用程序中的对象持久化到关系型数据库的表中。
    ORM 框架是一种数据持久化技术,即在对象模型和关系型数据库之间建立起对应关系,并且提供一种机制,可通过 JavaBean 对象操作数据库表中的数据,如图 1 所示。

    在这里插入图片描述
    图 1:ORM 映射关系
    在实际开发中,程序员使用面向对象的技术操作数据,而存储数据时,使用的却是关系型数据库,这样就造成了很多不便。ORM 可以在对象模型和关系型数据库的表之间建立一座桥梁,程序员使用 API 直接操作 JavaBean 对象就可以实现数据的存储、查询、更改和删除等操作

    MyBatis 框架通过简单的 XML 或注解进行配置和原始映射,将实体类和 SQL 语句之间建立起映射关系,是一种半自动化的 ORM 实现

    主流的 Java ORM 框架

    当前 Java ORM 框架产品有很多,常见的框架有 Hibernate 和 MyBatis,其主要区别如下。

    1. Hibernate
      Hibernate 框架是一个全表映射的框架。通常开发者只要定义好持久化对象到数据库表的映射关系,就可以通过 Hibernate 框架提供的方法完成持久层操作。
      开发者并不需要熟练地掌握 SQL 语句的编写,Hibernate 框架会根据编制的存储逻辑,自动生成对应的 SQL,并调用 JDBC 接口来执行,所以其开发效率会高于 MyBatis 框架。
      然而 Hibernate 框架自身也存在一些缺点,例如:
      • 多表关联时,对 SQL 查询的支持较差;
      • 更新数据时,需要发送所有字段;
      • 不支持存储过程;
      • 不能通过优化 SQL 来优化性能。
      这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。
      Hibernate 官网:http://hibernate.org/
    2. MyBatis
      MyBatis 框架是一个半自动映射的框架。这里所谓的 “半自动” 是相对于 Hibernate 框架全表映射而言的,MyBatis 框架需要手动匹配提供 POJO、SQL 和映射关系,而 Hibernate 框架只需提供 POJO 和映射关系即可。
      与 Hibernate 框架相比,虽然使用 MyBatis 框架手动编写 SQL 要比使用 Hibernate 框架的工作量大,但 MyBatis 框架可以配置动态 SQL 并优化 SQL、通过配置决定 SQL 的映射规则,以及支持存储过程等。对于一些复杂的和需要优化性能的项目来说,显然使用 MyBatis 框架更加合适。
      MyBatis 框架可应用于需求多变的互联网项目,如电商项目;Hibernate 框架可应用于需求明确、业务固定的项目,如 OA 项目、ERP 项目等。
      MyBatis 3 中文文档:https://mybatis.org/mybatis-3/zh/
      分类: Mybatis
    展开全文
  • .NET(C#)有哪些主流的ORM框架

    万次阅读 2019-07-21 17:22:59
    .NET(C#)有哪些主流的ORM框架 .NET(C#)主流ORM总揽 今天这篇文章分享几款收集的目前. NET(C#)中比较流行的ORM框架, 比如(以下框架均为开源框架,托管于github上): SqlSugar (国内) Dos.ORM (国内) Chloe (国内) ...

    .NET(C#)有哪些主流的ORM框架

    1. .NET(C#)主流ORM总揽
      今天这篇文章分享几款收集的目前.
      NET(C#)中比较流行的ORM框架,
      比如(以下框架均为开源框架,托管于github上):
      SqlSugar (国内)
      Dos.ORM (国内)
      Chloe (国内)
      StackExchange/Dapper (国外)
      Entity Framework (EF) (国外)
      NHibernate (国外)
      ServiceStack/ServiceStack.OrmLite (国外)
      linq2db (国外)Massive (国外)
      PetaPoco (国外)

    SqlSugar 【详细网址

    是国人开发者开发的一款基于.NET的ORM框架,是可以运行在.NET 4.+ & .NET CORE的高性能、轻量级 ORM框架,众多.NET框架中最容易使用的数据库访问技术。
    特点:
    开源、免费国内开发者开发、维护;
    支持.NET Core;支持主流数据库,
    如:SQL Server,MySql,Oracle,Sqlite等;
    维护更新及时
    推荐等级:★★★★☆

    PetaPocoPetaPoco:

    轻量的POCO对象和数据库映射的ORM框架。
    特点:开源、免费
    推荐等级:★★★★☆

    linq2db
    linq2db也是一款快速、轻量、类型安全的POCO对象和数据库映射的ORM框架。从构架上来说,linq2db是对比如:Dapper、PetaPoco这个的微ORM的进一步封装,但它不像Entity Framework那样笨重。它没有实现状态跟踪,需要自己处理实体的状态更改等。
    推荐等级:★★★★☆

    Dos.ORM

    Dos.ORM(原Hxj.Data)于2009年发布,2015年正式开源。在开发过程中参考了NBear与MySoft,吸取了他们的一些精华,加入新思想,同时参考EF的Lambda语法进行大量扩展。该组件已在数百个成熟项目中应用。官方网站:http://ITdos.com/Dos/ORM/Inde…
    特点:开源、免费
    上手简单,0学习成本。使用方便,按照sql书写习惯编写C#.NET代码。功能强大高性能,接近手写Sql
    体积小(不到150kb,仅一个dll)
    完美支持Sql Server(2000至最新版),MySql,Oracle,Access,Sqlite等数据库支持大量Lambda表达式写法,国产ORM支持度最高,开源中国ORM排行前三不需要像NHibernate的XML配置,不需要像EF的各种数据库连接驱动遵循MIT开源协议,除不允许改名,其它随意定制修改

    推荐等级:★★★☆☆

    ServiceStack.OrmLite

    ServiceStack.OrmLite的目标是提供一种方便,无干扰,无配置的RDBMS无关类型的封装,与SQL保持高度的契合,展现直观的API,可以生成可预测的SQL。
    ServiceStack.OrmLite的宗旨:Fast, Simple, Typed ORM for .NET
    特点:开源、收费(免费版只支持单个库10张表)
    推荐等级:★★★☆☆

    Entity Framework (EF)

    ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来。
    推荐等级:★★★☆☆

    NHibernate

    NHibernate是一个面向.NET环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
    特点:开源、免费批量写入批量读/多重查询特性(我理解是在说Future?)
    批量的集合加载带有lazy="extra"的集合集合过滤器和分页集合二级缓存(实际上NH的二级缓存貌似也很简单?)集成和扩展性代码自动生成,减少代码和sql的开发量,使开发人员摆脱开sql,ado.net和事务,缓存等底层推荐等级:★★★☆☆

    MassiveMassive:

    小巧,动态的微ORM框架。
    推荐等级:★★★☆☆

    什么是ORM

    ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

    为什么用ORM

    在程序开发中,数据库保存的表,字段与程序中的实体类之间是没有关联的,在实现持久化时就比较不方便。那么,到底如何实现持久化呢?一种简单的方案是采用硬编码方式,为每一种可能的数据库访问操作提供单独的方法。这种方案存在以下不足:
    1.持久化层缺乏弹性。一旦出现业务需求的变更,就必须修改持久化层的接口
    2.持久化层同时与域模型与关系数据库模型绑定,不管域模型还是关系数据库模型发生变化,毒药修改持久化曾的相关程序代码,增加了软件的维护难度ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁

    ORM的方法论基于三个核心原则:

    简单:以最基本的形式建模数据
    传达性:数据库结构被任何人都能理解的语言文档化
    精确性:基于数据模型创建正确标准化了的结构

    本文以C#编程语言为例,在传统的数据读取操作中,我们以Ado.net的方式对数据库进行CRUD操作,使用的基本都是SQL硬编码,比如有以下数据库查询操作:
    String sql = “SELECT … FROM persons WHERE id = 10”;
    DbCommand cmd = new DbCommand(connection, sql);
    Result res = cmd.Execute();
    String name = res[0][“FIRST_NAME”];
    使用了ORM映射的C#实现的伪代码:
    Person p = repository.GetPerson(10);
    String name = p.getFirstName();

    上面的示例代码表示我们可以从数据仓库repository中获取到一个实体对象,当然数据仓库中可能包含其他的方法,你也可以定义自己的ORM实现,
    比如:Person p = Person.Get(10);

    通常,在处理ORM映射和数据仓库时会暴露一些过滤或者查询方法,允许客户端对数据集进行进一步的筛选等操作,比如代码演示从数据库中查询ID=10的用户:
    Person p = Person.Get(Person.Properties.Id == 10);

    优/缺点
    优点与传统的数据库访问技术相比,
    ORM有以下优点:
    开发效率更高
    数据访问更抽象、轻便
    支持面向对象封装
    缺点
    降低程序的执行效率
    思维固定化
    从系统结构上来看,采用ORM的系统一般都是多层系统,系统的层次多了,效率就会降低。ORM是一种完全的面向对象的做法,而面向对象的做法也会对性能产生一定的影响。

    在我们开发系统时,一般都有性能问题。性能问题主要产生在算法不正确和与数据库不正确的使用上。ORM所生成的代码一般不太可能写出很高效的算法,在数据库应用上更有可能会被误用,主要体现在对持久对象的提取和和数据的加工处理上,如果用上了ORM,程序员很有可能将全部的数据提取到内存对象中,然后再进行过滤和加工处理,这样就容易产生性能问题。

    总结
    作为一名编程人员,在ORM使用的观念上会有不同,具体取舍需根据具体的项目和场景

    展开全文
  • C# 常用ORM框架

    千次阅读 2021-10-21 16:50:46
    个人学习用途博客 部分内容摘抄自网络

    在这里插入图片描述
    个人学习用途博客 部分内容摘抄自网络

    展开全文
  • .NET几种主流的ORM框架

    千次阅读 2019-08-28 17:27:37
    那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper,Entity Framework(EF)还是ServiceStack.OrmLite?或者是你还有更好的ORM推荐呢?如果的话,不防也一起分享给大家。 .NET(C#)主流ORM总揽 ...
  • SQLSugar ORM框架

    2018-12-03 15:48:15
    SqlSugar是一款轻量级、高性能、以及支持.NET 4.+和ASP.NET Core一款ORM框架
  • 几种常见的ORM框架

    2021-07-04 09:58:35
    MyBatis 是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的JDBC 代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO...
  • 介绍几种ORM框架

    万次阅读 2019-06-03 15:18:11
    【前言】 在进行IToo项目的时候就...都是一种ORM框架! 【内容】 ORM(object relation mapping) 对象关系映射关系 ,面向对象的对象模型和关系型数据之间的相互转换。基于关系型数据库的数据存储,实现一个虚...
  • ORM概念ORM(Object Ralational Mapping,对象关系映射)用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需...
  • 自己实现orm框架

    2018-07-28 16:00:56
    自己实现简单的orm框架。。 可以参照着自己写。。。。
  • .NET主流的ORM框架

    千次阅读 2020-05-06 14:16:48
    C# .NET主流ORM框架举例: 1.FreeSql(国内) 2.SqlSugar (国内) 3.Dos.ORM (国内) 4.Chloe (国内) 5.StackExchange/Dapper (国外) 6.Entity Framework (EF) (国外) 7.NHibernate (国外) 8.ServiceStack/ServiceStack...
  • .NetCore轻量级ORM框架 一,概述 nercoreORM是一个基于.net core开发的跨平台轻量级级数据库操作类库,全名是CodeM.Common.Orm。netcoreORM模型定义文件基于XML文件格式,模型管理基于目录自动分类;数据库类型支持...
  • 常用的ORM框架

    千次阅读 2020-05-24 10:15:09
    常用的ORM框架有Hibernate和MyBatis,也就是ssh组合和ssm组合中的h与m。 它们的特点和区别如下: Hibernate对数据库结构提供了完整的封装,实现了POJO对象与数据库表之间的映射,能够自动生成并执行SQL语句。只要...
  • The Golang ORM library for web artisans.
  • SqlSugar ORM框架 v5.0.0.19

    2020-12-28 21:48:09
    为您提供SqlSugar ORM框架下载,SqlSugar是一款简单易用的开源ORM框架。优点: 简单易用、功能齐全、高性能、轻量级、服务齐全支持数据库:MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦、人大金仓性能:比...
  • Python 使用ORM框架

    千次阅读 2019-02-24 17:39:10
    前沿 对象关系映射ORM是在实际应用编程中常用到的技术,它在对象和关系之间建立了一条桥梁,前台的对象型数据和数据库中的关系...Python目前比较流行的ORM框架主要是SQLAlchemy框架,它可以兼容MySQL、SQLite、Orac...
  • sqltoy-orm框架系统

    2020-08-14 08:32:40
    sqltoy-orm是比hibernate+myBatis更加贴合项目的orm框架,具有hibernate增删改的便捷性同时也具有比myBatis更加灵活优雅的自定义sql查询功能。
  • ORM是对象关系型映射 主要是解决对象与关系数据库存在的互不匹配的现象的技术 ORM的方法论基于3个核心原则 ...常用的ORM框架有:  hibernate,mybatis 转载于:https://www.cnblogs.com/mm163/p/1083...
  • 【ORM】ORM框架使用优缺点

    千次阅读 2018-07-27 11:42:18
    但是,如果使用orm框架,只需要改一下方言就可以了。代码不用更改,是不是很方便?! 1. 什么是ORM? 对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的...
  • ORM框架简介及优缺点

    万次阅读 多人点赞 2018-09-06 11:57:02
    一、ORM简介  对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的...
  • ORM => 对象关系映射(英语:Object Relational Mapping)对于O/R,即...ORM框架 用途 => 为了解决 软件项目 与 数据库 打交道的中间层。 1.EntityFramework 可以直接写LINQ & Limbda语法,使用最为广泛...
  • 自己手写的一个半自动框架,里面运行例子,部分代码从mybatis中抽出
  • NULL 博文链接:https://fengzhenbing98.iteye.com/blog/2194829
  • 轻量级Net的ORM框架

    2017-07-16 21:29:46
    一款轻量级的ORM框架
  • 手写ORM框架.java

    2020-12-22 14:56:28
    博文资源

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,835
精华内容 61,534
关键字:

orm框架有哪些