服务热线: 13472705338
新闻中心 news center

煤矿智能仓储系统研究与设计

伴随互联网、大数据、人工智能技术的迅猛发展,煤矿智能化相关技术与装备水平也在显著提升。同时,随着煤矿智能化程度...
联系我们 contact us
新闻中心
您当前的位置:首页 > 新闻中心 > IBatis.NET在移动仓储...

IBatis.NET在移动仓储系统中的应用

信息来源: 发布时间:2021-11-30 点击数:

1 IBatis概述

IBatis是一种开源的持久化中间件产品, 使得SQL语句或者stored procedures与实体对象更容易映射起来, 用更少的代码获得更多的数据库访问功能。它解决了将Sql语句从代码中分离的问题, 实现了Sql语句到实体的映射。

2 MWH资源层 (Data Access)

资源层主要职责是提供领域层对象的持久化机制和数据读取功能。在MWH中, 资源层从总体分为两大类:“MWH Data Access”和“SAP Service Adapter”。MWH Data Access主要提供MWH系统内部对象持久化和数据访问功能。MWH Data Access主要是封装开源组件“IBatis.NET”。该组件在业界已经有很广泛的应用。IBatis.NET是相对比较成熟的持久化框架。IBatis.NET提供了很好的对象关系映射机制, 比较适应于“充血模型”组件的开发。同时也将业务逻辑和数据库SQL脚本相隔离。既可以提高开发效率, 同时也使得的系统更具有灵活性。IBatis.NET较业界的其它对象关系映射组件相比具有一定的优势。IBatis.NET解决了对象与关系性数据库之间的映射管理, 同时也可以让开发人员对SQL进行自主控制, 从而保证了系统的执行效率。

3 实例分析

MWH项目中的持久化机制是采用IBatis.NET开源框架来实现。MWH软件架构中, 客户要求按“充血模型” (领域模型) 方式来实现, IBatis.NET提供了很好的数据库访问对象与业务实体映射的机制。同时IBatis.NET有具有很大的灵活性, 可以让开发人员在SQL性能和开发效率之间得到平衡。IBatis.NET这个框架能够更好的在.NET应用中设计和实现实体层。这个框架有两个主要的组成部分, 一个是SQL Maps, 另一个是Data Access Objects。

图1:配置文件元素关系

图1:配置文件元素关系  下载原图


图3:SQLMap配置文件

图3:SQLMap配置文件  下载原图


3.1 SQL Maps

SQL Maps是这个框架中最核心的部分。它是整个IBatis数据访问层的核心价值所在。通过使用SQL Maps可以显著的节约数据库操作的代码量。SQL Maps使用一个简单的XML文件来实现从实体到SQL Statement的映射。跟其他的框架或者对象映射工具相比, SQL Maps最大的优势是简单。它需要学习的东西很少, 在连接表或复杂查询时也不需要复杂的scheme。使用SQL Maps, 开发人员可以自由的使用SQL语句。

3.2 Data Access Objects (DAO)

在充血模型中, 一种重要的实现机制就是通过一个通用API层把实体操作的细节封装起来。Data Access Objects允许你通过一个简单接口的来操作数据, 从而隐藏了实现的细节。使用DAO, 可以动态配置应用程序来访问不同的实体存储机制。如果有一个复杂的应用需要用到几个不同的数据库, DAO可以允许建立一个一致的API, 让系统的其他部分来调用。

在MWH中实现持久化层的开发需要完成以下多个步骤:

3.2.1 在领域层定义实体对象类

位置:Domain.XX.Entity.YY。“XX”:代表具体的领域组件, 如:Goods Receiving代买收货, Authorization代买权限认证等。“YY”:代表具体的实体类, 如收货明细对象:Gr Item。举例:收货Item实体类名为:ABB.Mobile WH.Domain.Googs Receiving.Entity.Gr Item;有关实体类的定义, 和普通的类对象的定义没有什么区别, 不在此细说。

3.2.2 创建实体类与数据库的映射Xml文件

位置:Domain.XX.Entity.YY.Maps.ZZ.Xml。“XX”:代表具体的领域组件, 如:Goods Receiving代买收货, Authorization代买权限认证等。“YY”:代表具体的实体类, 如收货明细对象:Gr Item。举例:收货Item实体类名为:ABB.Mobile WH.Domain.Googs Receiving.Entity.Gr Item;ZZ代表具体的映射文件名称, 建议按实体类的名称命名。举例, Gr Item的映射文件:Gr Item.xml。

图2:DAO映射配置文件

图2:DAO映射配置文件  下载原图


有关实体类与数据库的映射文件的配置需要完全的遵从IBatis.NET的标准。配置文件中具体元素关系, 如图1。

映射文件举例, 如图2。

配置SQLMap.config文件, 如图3。

4 结束语

仓储管理系统利用IBatis.NET实现了Sql与实体之间的映射, 解决了数据持久化问题, 做到了实体与数据之间的隔离, 使整个系统的架构更加松散。

上海阳合仓储管理
官方二维码

版权所有©:阳合仓储 公司地址:上海市嘉定区南翔嘉美路428号 联系电话:134-7270-5338 沪公网安备 31011402008347号 沪ICP备14036201号-1