对于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>
对于Mybatis在C#.Net中个人使用的总结(一) Mybatis 的结果映射的更多相关文章
- Atitit.mybatis的测试 以及spring与mybatis在本项目中的集成配置说明
Atitit.mybatis的测试 以及spring与mybatis在本项目中的集成配置说明 1.1. Mybatis invoke1 1.2. Spring的数据源配置2 1.3. Mybatis ...
- MySQL Fabric和MyBatis的整合过程中遇到的问题
这是我昨天在整合MySQL Fabric和MyBatis时遇到的问题,花了大半天才解决的问题,解决的过程中在网上查找了很久,都没有找到解决的方案.现在记下来,希望能够帮助有同样问题的朋友.如果各位朋友 ...
- MyBatis Mapper.xml文件中 $和#的区别
MyBatis Mapper.xml文件中 $和#的区别 网上有很多,总之,简略的写一下,作为备忘.例子中假设参数名为 paramName,类型为 VARCHAR . 1.优先使用#{paramN ...
- mybatis的xml文件中如何处理大小于号
在mybatis的xml配置文件中会遇到大小于号转化的问题,解决问题的方法如下: 1.用转义字符把>和<替换掉 SELECT * FROM test WHERE AND start_dat ...
- 2 将mybatis配置到springmvc中
为了更方便的连接数据库,将mybatis配置到springMVC中 1). 首先是jar包 多了3个jar druid 这个是阿里的数据库连接包 mybatis和 mybatis- ...
- Mybatis&orcale update语句中接收参数为对象
Mybatis的 mapper.xml 中 update 语句使用 if 标签判断对像属性是否为空值. UserDTO是传过来参数的类型,userDTO是在mapperDao接口中给更新方法的参数起的 ...
- Mybatis在Maven项目中使用
Mybatis概览 ORM是什么? ORM是Object Realtion Mapping的缩写,顾名思义,即对象关系映射. ORM是一种以面向对象的方式来进行数据库操作的技术.Web开发中常用的语言 ...
- mybatis生成的pojo 中的属性或方法不够我们当做dto使用时
我们在写代码的时候,如果一个 mybatis生成的pojo 中的属性或方法不够我们使用(当做dto和前台交互)时,我们有两种方法: 第一: 直接在 原 pojo 中增加属性或者方法 第二:我们可以再写 ...
- 在数据库中添加数据以后,使用Mybatis进行查询结果为空
在数据库中添加数据以后,使用Mybatis进行查询结果为空,这是因为数据库中添加数据忘记commit的缘故.
- 【mybatis】mybatis使用java实体中定义的常量,或静态方法
mybatis使用java实体中定义的常量 示例代码: <select id="findDealerInfo" parameterType="com.pisen.c ...
随机推荐
- fseek的使用
一:概述 在官方文档里,对于fseek的描述是 Move to specified position in file,移到文件的某一个特殊位置 二:语法 status = fseek(fileID, ...
- JNI字段描述符(转)
转载自http://fgsink.blog.163.com/blog/static/16716997020124310169911/ “([Ljava/lang/String;)V” 它是一种对函数返 ...
- 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释
在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...
- Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)
通常在编写 Selenium 的 WebUI 自动化脚本时,有些元素不易定位元素,或有些元素为隐藏的(此时用 WebElement.getText() 获取其值的时候,返回的结果为空),对日常的 UI ...
- Sql server中内连接语句
数据库中学生表和课程表如下: 内连接sql语句: select a.studentName,a.studentAge,b.courseName from student a inner join co ...
- iOS:特殊符号大全
特殊符号大全分享给大家,直接复制粘贴就可以使用了! ░ ▒ ▬ ♦ ◊ ◦ ♠ ♣ ▣ ۰•● ❤ ●•۰ ► ◄ ▧ ▨ ♨ ◐ ◑ ↔ ↕ ▪ ▫ ☼ ♦ ♧♡♂♀♠♣♥❤☜☞☎☏⊙◎ ☺☻☼▧▨ ...
- C语言:通过指针对数组元素进行排序
// // main.c // Pointer_array // // Created by ma c on 15/8/2. // Copyright (c) 2015年 bjsxt. All ...
- 不连数据库List分页
package com.jpsycn.kfwggl.common.crawl; import java.util.ArrayList; import java.util.List; public cl ...
- 在C#中使用json字符串
http://jingyan.baidu.com/article/6fb756ecd2b051241858fbef.html
- Activity的四种启动模式-图文并茂
1.对于使用standard 模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个新的实例. 例如A启动A,A再接着启动A,A继续启动A,然后再分别出栈,如图所示 ...