对于Mybatis在C#.Net中个人使用的总结(一) Mybatis 的结果映射
(图片中的文字上传之后就都看不清,我再图片的下边会用斜体字标清)
首先我在项目中使用Mybatis 是用XML完成映射的。至于XML这门语言,其实很简单的(对于入门来说,因为我是刚入门哈~),如果你还不是很了解,可以去下载一本《无废话XML》台湾人写的,总体来说 内容很紧凑,非常适合入门。好接下来转入正题:
大致氛围这四个部分一般来说前两个部分写好之后就不会再改变了 后两个则根据具体的情况 增加
下边介绍结果映射部分
(图片中的文字,1 头部分用于表示xml的版本号以及其他各种属性的设置
2申明部分表示mybatis 的映射 所对应的实体
3结果映射查询的实体结果 是如何实现一一映射的
4声明语句 包括增删改查各种东东)
首先要用 sqlMap 的关键字包含住,其次 结果映射要放在 ResultMaps 中
一般我会把结果映射部分也就是此处的Cartonresult分为两部分一类是里边的值字段(包括字符串和数值)另外一部分是引用类型(也就是Carton中的 引用字段比如Company实体)对于前半部分我会使用Extends 直接关联映射(也可放在底下直接写映射语句可是没有这样的可读性强)对于后半部分采用的就是如图中的 使用关联字段 去对应的XML如(company)中寻找对应id (如 getobject)的查询语句进行查询。最后会将得到的company实体安装到 Carton这个实体的对应属性字段上
(图片中的文字 1、外联映射部分
2、使用company sysNo 去company 的映射列表中 使用getobject 映射 获取到company 实体 最后赋值到Carton 的company字段上)
(图中文字,左边是 实体中的字段,右边是 数据库中的字段或 得到的数据源)
代码
<resultMapid="AbstractResult"class="Carton">
<resultproperty="SysNo" column="SysNo" />
<resultproperty="CustomerID" column="CustomerID"/>
<resultproperty="CartonType" column="CartonType"/>
<resultproperty="CartonCode" column="CartonCode"/>
<resultproperty="RCUserName" column= "RCUserName"/>
<resultproperty="LoadUserName" column="LoadUserName"/>
<resultproperty="LoadDateTime" column="LoadDateTime"/>
</resultMap>
<resultMapid="CartonResult" class="Carton" extends="AbstractResult">
<resultproperty="CartonDetailList" column="SysNo" select="CartonDetail.GetByCartonSysNo"/>
<resultproperty="Company" column="CompanySysNo" select="Company.GetObject"/>
<resultproperty="Warehouse" column="WarehouseSysNo" select="Warehouse.GetObject"/>
</resultMap>
如果你觉得写的不错,欢迎转载和点赞。 转载时请保留作者署名jilodream/王若伊_恩赐解脱(博客链接:http://www.cnblogs.com/jilodream/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)