ibatis中resultClass与resultMap 的区别
ibatis的resultClass与resultMap还是有很大的区别。以下是我碰到的一个问题。 配置文件写法如下: 1 sqlMap2 typeAlias alias="notice" type="path.country.basic.entity.Notice"/3 resultMap id={% ... ibatis的resultClass与resultMap还是有很大的区别。以下是我碰到的一个问题。
配置文件写法如下:
1 <sqlMap>
2 <typeAlias alias="notice" type="path.country.basic.entity.Notice"/>
3 <resultMap id="noticeResult" class="notice" >
4 <result property="id" column="MainID"/>
5 <result property="content" column="Notice_Content"/>
6 <result property="isUsed" column="Notice_IsUsed"/>
7 <result property="createMan" column="CreateId"/>
8 <result property="createDate" column="CreateDate"/>
9 <result property="createIp" column="CreateIP" />
10 <result property="lastModifyMan" column="ModifyId"/>
11 <result property="lastModifyDate" column="ModifyDate" />
12 <result property="lastModifyIp" column="ModifyIP" />
13 <result property="manName" column="CreateId" select="getUserNameById"/>
14 </resultMap>
15 <select id="getNewNotice" resultClass="notice">
16 SELECT * FROM Bse_Notice WHERE Notice_IsUsed='1'
17 </select>
18 </sqlMap>
在前台调用时,对象是取到了,但是里面的属性值为空。
查了相关资料才知道:resultclass属于隐身映射,虽然你指定resultclass=“”,具体某一个类,但是select语句得到的结果是一 条实力记录,但如果数据库字段与类的属性名字不一致,这个时候就会出现映射错误,有一种方式可以解决就是在写select语句时,给每个字段用as运算符 取名字与属性一样:例如:select realname as name...其中realname是字段列名,name是属性字段名。
当然解决问题还是很容易的,只需要把resultClass改为resultMap就行了。
在性能方面,resultMap要比resultClass高,所以建议尽量使用resultMap。
ibatis中resultClass与resultMap 的区别的更多相关文章
- ibatis的resultClass与resultMap 的区别
ibatis的resultClass与resultMap还是有很大的区别.以下是我碰到的一个问题. 配置文件写法如下: 1 sqlMap2 typeAlias alias="notice&q ...
- MyBatis中resultType和resultMap的区别
resultType和resultMap功能类似 ,都是返回对象信息 ,但是resultMap要更强大一些 ,可自定义.因为resultMap要配置一下,表和类的一一对应关系,所以说就算你的字段名 ...
- Ibatis中SqlMapClientTemplate和SqlMapClient的区别
SqlMapClientTemplate是org.springframework.orm.ibatis下的 而SqlMapClient是ibatis的 SqlMapClientTemplate是Sql ...
- ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别
在iBATIS中isNull用于判断参数是否为Null,isNotNull相反 isEmpty判断参数是否为Null或者空,满足其中一个条件则其true isNotEmpty相反,当参数既不为Null ...
- ibatis中的$和#的区别
介绍 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如: select * fr ...
- ibatis中 $ 于 # 的 区别?
转自: http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html 一个项目中在写ibatis中的sql语句时,where use ...
- ibatis 中#和 $ 符号的区别
1.数据类型匹配 #:会进行预编译,而且进行类型匹配(自动确定数据类型): $:不进行数据类型匹配. 2.实现方式: # 用于变量替换(先生成一个占位符,然后替换) select * from use ...
- ibatis中的符号#跟$区别
昨天一个项目中在写ibatis中的sql语句时,order by #field#, 运行时总是报错,后来上网查了查,才知道这里不该用#,而应该用$,随即查了下#与$的区别. 总结如下: 1.#是把 ...
- ibatis 中 $与#的区别
ibatis 中 $与#的区别 使用#: select * from table where id = #id# 如果字段为整型:#id#表示成id select * from table where ...
随机推荐
- RecyclerView onTouch & onClick 触摸事件与点击事件
遇到一种情况需要处理,RecyclerView所在Activity需要处理滑动事件用于返回(onBackPressed). 手势检测: @Override public boolean onFling ...
- 框架基础:ajax设计方案(二)---集成轮询技术
上一篇文章介绍了ajax技术核心方法,和跨域的问题(只要后台支持跨域默认post就可以),这篇文章讲解一下使用ajax实现的轮询技术,至于iframe,SSE服务器单向推送,以及webSocket ...
- c语言-转义序列
字符组合是由反斜杠 (\) 后接字母或位组合构成的字符组合.若要显示换行符,单引号或某些其他字符在字符串末尾,必须使用转义序列. 转义序列被视为单个字符,因此,它是有效的字符常数. 转义序列通常用于指 ...
- CentOS,Ubuntu,Gentoo,Freebsd,RedHat,Debian的区别及选择
Linux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及G ...
- data Mining with Weka: Trailer More Data Mining with Weka 用weka 进行数据挖掘 Weka 用weka 进行更多数据挖掘
https://www.youtube.com/user/WekaMOOC 大学公开课 视频教程 weka 入门教程 data Mining with Weka: Trailer More Dat ...
- JDK和JRE的区别
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库.Java Runtime Enviro ...
- A计划
A计划 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissio ...
- Bank Interest
Bank Interest Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Tota ...
- 2.请尝试安装和配置JDK,并给出安装、配置JDK的步骤。
win10/64位 1.解压jdk1.8.0_91_x64.rar 2.同时按住win键和pause键,弹出系统属性窗口,选择高级系统设计选项. 3.然后单击环境变量按钮. 4.弹出环境变量对话框后, ...
- permutation求全排列
include <iostream> #include <string> using namespace std; void swap(char &c1, char & ...