对于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 ...
随机推荐
- mysql参数,蛮全的
网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一 ...
- QWidget 键盘事件 焦点(QApplication源码)
在Qt中,键盘事件和QWidget的focus密不可分:一般来说,一个拥有焦点(focus)的QWidget或者grabKeyboard()的QWidget才可以接受键盘事件. 键盘事件派发给谁? 如 ...
- 变态的HelloWorld
public static void main(String[] args) { int i, n[] = { (((1 << 1) << (1 << 1) < ...
- MongoDB非正常关闭后修复记录
启动mongodb时出现如下错误: 根据提示可以知道错误原因是mongodb非正常关闭,此时需要对数据库进行修复.修复命令:mongod --repair 或 ./mongod --repair , ...
- SQL Server 2008 R2【SET ANSI_PADDING填充属性】插入一条数据后,为何每一列都默认的在字符后多了几个空格
当加入空格后查出 解决: 导致出现这样的现象的原因就是SET ANSI_PADDING选项. 这个选项只在数据表的字符串字段被更新或者新的数据行插入到表中的时候作用.它控制着SQL Server在遇到 ...
- LeetCode Count Complete Tree Nodes
原题链接在这里:https://leetcode.com/problems/count-complete-tree-nodes/ Given a complete binary tree, count ...
- C语言:十进制进制转换为其他进制(思想:查表法)
// // main.c // Hex conversion // // Created by ma c on 15/7/22. // Copyright (c) 2015年 bjsxt. A ...
- python字典循环小点
对于字典数据量不大时候 首先会将字典转换成列表,写到内存,如果几百万条,就会减慢速度 for k,v in dic:print k,v 可以这样 for k in dic:print k,dic[ ...
- RouterOS软路由设置固定IP+PPPOE
内网: IP:192.168.10.254/24 网关:192.168.10.254 外网: IP:218.17.172.17/28 子网掩码:255.255.255.240 网关:218.17.17 ...
- WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform
参看:http://www.secdoctor.com/html/yyjs/31101.html