下面代码:
根据ID查用户 ,那么:
如果我们把它User中的 birthday改为 birth,那么就会出现下面问题【两种情况】:
1. birth 为空 例如:
所以最简单的结局方法就是 语句加别名:
所以证实了 数据库字段 一定要和返回类型User中的变量名一样! 其次查询出来是这样的: 【下面时间被我改过....】
最笨的办法是起别名AS 其次就是用 ResultMap:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.bihu.Dao.UserMapper"> <!--创建一个resultMap--> <resultMap id="testResultMap" type="com.bihu.Bean.User"> <!--下面的column是数据库字段名 property是Bean的字段--> <!--相当于手动把数据库数据封装到JavaBean字段中--> <result column="id" property="id"/> <result column="username" property="username"/> <result column="password" property="password"/> <result column="birthday" property="birth"/> <!--主要是这个 因为数据库和Bean成员变量名对不上--> </resultMap> <select id="findId" resultMap="testResultMap"> select * from USER where id = #{id}; </select> </mapper>UserMapper.xml
这就是这个作用【之前在 一对一查询用过这个 也是手动封装类】
但是你可以把 数据库字段 和 JavaBean成员变量名不一样的才Result 一下 ,例如:
运行发现 结果也是一样的。
这就是 结果集 resultMap 最最最简单的使用 【解决字段名不一样】