MyBatis基础——实体类属性名与数据库表列名不一致时怎么查询数据

假如我们使用Dao+映射文件的方式操作数据表时,实体类的属性名与数据库列名不一致时我们该怎么查询数据。


实体类的属性名与数据库列名不一致时查询全部数据:

执行结果为:
在这里插入图片描述
我们发现只有money一个属性有值,其余属性均为默认值

这种情况下,如果想要查询数据,则需要修改映射文件
第一步,在映射文件下面加入resultMap标签:

<!-- 实体类属性与数据库的列的对应关系 -->
	<resultMap type="com.xyj.entity.Emp" id="empmap">
		<!--column代表数据库中的列名  property代表实体类的属性   javaType代表在java中的数据类型  jdbcType代表在数据库中的数据类型 -->
		<id column="eid" property="id"/>
		<result column="ename" property="name"/>
		<result column="epwd" property="pwd"/>
		<result column="money" property="money"/>
	</resultMap>

第二步,修改查询标签的resultType属性为resultMap,resultMap的值为定义的resultMap标签的id值

<select id="select" resultMap="empmap">

再次查询全部数据时我们发现数据已经全部匹配啦。
在这里插入图片描述




全部代码

配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- MyBatis配置文件 -->
<configuration>
	<!-- 配置log4j日志文件 -->
	<settings>
		<setting name="logImpl" value="STDOUT_LOGGING"/>
	</settings>
	<!-- 配置mybatis的多套运行环境  development为开发者模式  -->
	<environments default="development">
		<environment id="development">
			<!--事务管理器  使用JDBC事务管理-->
			<transactionManager type="JDBC"></transactionManager>
			<!--dataSource 数据源配置 POOLED:MyBatis自带数据源  JNDI:基于tomcat的数据源 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql:///jdbcdemo20190804"/>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值