mybatis 中resultType与resultMap区别
2016-05-29 17:05
330 查看
mybatis中要返回如下对象的List集合:
public class Host {
private String hostType;
private String hostAddr;
public String getHostType() {
return hostType;
}
public void setHostType(String hostType) {
this.hostType = hostType;
}
public String getHostAddr() {
return hostAddr;
}
public void setHostAddr(String hostAddr) {
this.hostAddr = hostAddr;
}
}
如果对应的表结构是:
CREATE TABLE `host` (
`host_type` varchar(32) NOT NULL COMMENT '主机类型',
`host_addr` varchar(128) NOT NULL COMMENT '主机地址',
)
用resultMap返回xml中应当这样写:
<resultMap type="net.flyingfat.common.biz.domain.Host" id="hostResult">
<result column="host_type" property="hostType"/>
<result column="host_addr" property="hostAddr"/>
</resultMap>
<select id="getHost" resultMap="hostResult">
SELECT * FROM host
</select>用resultType返回,xml中仅仅改为
<select id="getHost" resultType="net.flyingfat.common.biz.domain.Host">
SELECT * FROM host
</select>
是不够的,表结构也要改为
CREATE TABLE `host` (
`hostType` varchar(32) NOT NULL COMMENT '主机类型',
`hostAddr` varchar(128) NOT NULL COMMENT '主机地址'
)
结论:如果数据表中的字段包含下划线这种写法,最好还是用resultMap去返回;resultType返回必须保证数据库字段跟java对象的字段大小写一致。
public class Host {
private String hostType;
private String hostAddr;
public String getHostType() {
return hostType;
}
public void setHostType(String hostType) {
this.hostType = hostType;
}
public String getHostAddr() {
return hostAddr;
}
public void setHostAddr(String hostAddr) {
this.hostAddr = hostAddr;
}
}
如果对应的表结构是:
CREATE TABLE `host` (
`host_type` varchar(32) NOT NULL COMMENT '主机类型',
`host_addr` varchar(128) NOT NULL COMMENT '主机地址',
)
用resultMap返回xml中应当这样写:
<resultMap type="net.flyingfat.common.biz.domain.Host" id="hostResult">
<result column="host_type" property="hostType"/>
<result column="host_addr" property="hostAddr"/>
</resultMap>
<select id="getHost" resultMap="hostResult">
SELECT * FROM host
</select>用resultType返回,xml中仅仅改为
<select id="getHost" resultType="net.flyingfat.common.biz.domain.Host">
SELECT * FROM host
</select>
是不够的,表结构也要改为
CREATE TABLE `host` (
`hostType` varchar(32) NOT NULL COMMENT '主机类型',
`hostAddr` varchar(128) NOT NULL COMMENT '主机地址'
)
结论:如果数据表中的字段包含下划线这种写法,最好还是用resultMap去返回;resultType返回必须保证数据库字段跟java对象的字段大小写一致。
相关文章推荐
- Javascript:面试最容易被问到的的7个框架
- ldap基本命令
- ssh-keygen
- Centos sudo添加用户
- CodeForces 592B
- 忙忙忙
- Hibernate从入门到放弃(三)----持久化对象
- Lock接口(锁的实现)
- 2.5 UI组件-AdapterView及子类(疯狂android学习笔记)
- 安装虚拟机报错:Could not get vmci driver version: 参数错误. You have an incorrect version of driver "vmci.sys".
- ssh proxy配置
- maven 命令
- HDU 1075 What Are You Talking About (map 或者 字典树)
- Java的继承
- Java内存模型
- lanmp 环境搭建
- [置顶] 修改linux操作系统的时间可以使用date指令 运维系统工程师必会技术
- 显示隐藏文件
- 文章标题
- 到底买不买,找零钱,字符统计,输出PATest