wap网站建设开发,广州做外贸网站,小程序开发流程步骤,企业网站建设费如何列支给自己一个目标#xff0c;然后坚持一段时间#xff0c;总会有收获和感悟#xff01; 国庆假期马上结束#xff0c;闲暇时间#xff0c;突然对Ado.Net这个词的由来感兴趣#xff0c;然后就一顿复习了一遍#xff0c;顺便也了解了下java关于ORM框架的底层是什么#xff… 给自己一个目标然后坚持一段时间总会有收获和感悟 国庆假期马上结束闲暇时间突然对Ado.Net这个词的由来感兴趣然后就一顿复习了一遍顺便也了解了下java关于ORM框架的底层是什么 目录 一、什么是ADO二、ADO.Net和ORM关系三、常见ORM框架四、C#底层技术4.1、ADO.Net4.2、数据库提供程序4.3、映射引擎4.4、查询语言 五、Java底层技术5.1、JDBCJava Database Connectivity5.2、数据库连接池5.3、反射Reflection5.4、缓存Cache5.5、事务管理 一、什么是ADO
ADOActiveX Data Objects并不是一个 ORM对象关系映射框架而是一组用于访问数据的组件和接口。
ADO 提供了一种在应用程序中访问和操作数据库的方式它是面向连接的、基于组件的框架。
ORM 框架则是一种用于简化数据库操作的技术它通过将数据库表和对象之间进行映射使得开发人员可以使用面向对象的方式来操作数据库。一些常见的 ORM 框架包括 Entity Framework、Hibernate 等。
二、ADO.Net和ORM关系
C# 的 ADO.Net 是一个用于访问和操作数据库的底层技术框架它提供了一组类和接口用于连接数据库、执行 SQL 查询和更新操作以及处理数据的读取和写入。ADO.Net 是面向连接的、基于组件的框架提供了直接的数据库访问能力。
ORM对象关系映射框架是建立在 ADO.Net 之上的高层抽象它封装了对数据库的访问细节并提供了面向对象的方式来进行数据库操作。ORM 框架通过将数据库表映射为对象将查询结果映射为对象集合从而简化了数据库操作的编写和维护工作。
在 C# 中ADO.Net 和 ORM 框架之间存在一定的关系。一方面ORM 框架通常会使用 ADO.Net 提供的底层数据库连接和执行功能以实现对数据库的访问。在 ORM 框架中它们会封装和扩展 ADO.Net 提供的一些类和接口以提供更加便捷和高级的数据库操作功能。另一方面如果需要更直接和细粒度地控制数据库操作开发人员仍然可以直接使用 ADO.Net 的类和接口。 总结来说ADO.Net 是用于直接访问和操作数据库的底层框架而 ORM 框架是建立在 ADO.Net 之上的高级抽象提供了更加方便和面向对象的方式来进行数据库操作。在开发中可以根据具体需求和情况选择使用 ADO.Net 或 ORM 框架。 三、常见ORM框架
以下大概列举C#和Java常见的ORM框架评论区大家说说你常用的是那个
编号开发语言ORM框架备注1C#Entity FrameworkEFEF 是微软官方推出的 ORM 框架它支持多种数据库提供程序并提供了强大的对象关系映射功能和 LINQ 查询语言的支持。2C#NHibernateNHibernate 是一个成熟的开源 ORM 框架它是 Hibernate 在 .NET 平台上的移植版本。NHibernate 支持多种数据库提供了丰富的映射配置选项并且具有灵活的查询功能。3C#DapperDapper 是一个轻量级的 ORM 框架它由 StackExchange 团队开发。与其他 ORM 框架相比Dapper 更加注重性能它提供了一种直接执行 SQL 查询并将结果映射为对象的简单方式。4C#LLBLGen ProLLBLGen Pro 是一个商业级的 ORM 框架它提供了广泛的功能和工具用于配置和生成数据访问层代码。它支持多种数据库以及高级的数据模型定制和查询功能。5C#SQLSugarSQLSugar是一个基于.Net平台的ORM对象关系映射工具用于简化数据库操作6JavaHibernate是一个开源的 ORM 框架它以灵活的映射和数据库访问能力而闻名。它支持关系数据库和面向对象的数据模型之间的映射并提供了一个丰富的查询语言HQL来检索数据。7JavaMyBatis是一款简单易用的持久层框架它通过 XML 或注解的方式将 Java 对象映射到数据库表。相比于 HibernateMyBatis 更加灵活可以直接编写 SQL 语句提供了更细粒度的控制权。8JavaJPAJava Persistence APIJavaEE 的持久化标准它定义了一套 ORM 规范为开发人员提供了一种简化数据库操作的方式。JPA 的实现包括 Hibernate、EclipseLink 等。9JavaSpring Data JPA是 Spring Framework 提供的一个用于简化 JPA 开发的模块。它通过使用 Repository 接口大大减少了编写数据访问层的代码量并提供了一些便利的查询方法。
四、C#底层技术
在 C# ORM 框架的底层技术中通常涉及以下几个方面
4.1、ADO.Net
ORM 框架通常会使用 ADO.Net 提供的底层数据库连接和执行功能。ADO.Net 是微软官方提供的用于访问和操作关系型数据库的框架它提供了一组类和接口用于连接数据库、执行 SQL 查询和更新操作。
4.2、数据库提供程序
ORM 框架需要通过数据库提供程序与具体的数据库进行通信。数据库提供程序是用于与不同数据库交互的层它封装了底层数据库引擎的细节使得框架可以通过统一的方式与不同类型的数据库进行交互。
4.3、映射引擎
ORM 框架需要进行对象与数据库表之间的映射将数据库中的数据转换为对象并将对象的修改保存回数据库。映射引擎负责处理对象与数据库表之间的映射关系通常使用元数据和配置来定义表和对象之间的对应关系。
4.4、查询语言
ORM 框架通常会提供一种更适合面向对象编程的查询语言用于进行复杂的查询操作。这些查询语言可以在编译时进行类型检查提供更丰富和灵活的查询能力例如 LINQ (Language Integrated Query)。 综上所述C# ORM 框架的底层技术涉及 ADO.Net、数据库提供程序、映射引擎和查询语言等方面通过这些技术来实现方便、高效地访问和操作数据库。不同的 ORM 框架可能在处理方式和实现细节上有所差异但它们都在这些基本技术的基础上进行开发和扩展。 五、Java底层技术
Java ORM 框架的底层技术通常涉及以下几个方面
5.1、JDBCJava Database Connectivity
JDBC 是 Java 提供的一套数据库访问标准它定义了一组 API 和协议用于与关系型数据库进行通信。ORM 框架通过 JDBC 提供的 API 将 Java 对象与数据库表之间进行映射和交互。
5.2、数据库连接池
ORM 框架通常会使用数据库连接池来管理数据库连接。数据库连接池是一种重用数据库连接的技术通过减少频繁创建和关闭数据库连接的开销提高了应用程序的性能和资源利用率。
5.3、反射Reflection
ORM 框架通常会使用反射机制来动态地操作 Java 对象的属性和方法。反射可以在运行时获取对象的类信息并通过类的属性和方法进行操作使得 ORM 框架能够根据定义的映射关系将对象持久化到数据库或从数据库中读取对象。
5.4、缓存Cache
为了提高性能ORM 框架通常会使用缓存技术来存储频繁访问的对象或查询结果。ORM 框架可以借助缓存来减少与数据库的交互次数提高数据读取的速度。
5.5、事务管理
ORM 框架需要支持数据库事务的管理。事务是一种用来保证数据库操作的一致性和隔离性的机制ORM 框架通常会提供事务管理的功能例如通过注解或声明式方式来管理事务的开始、提交或回滚。 综上所述Java ORM 框架底层技术主要包括 JDBC 作为与数据库交互的接口数据库连接池、反射、缓存和事务管理等技术来提供高效的对象-关系映射和数据库操作功能。