mybatis查询及实体类映射
为了做查询,做了一个pojo为UserDemo,且继承了User类。
public class UserDemo extends User{
private String loginName;
private String password;
private Date updatetime;
}
User类里多了一些字段,例如createtime、createtime等。
public class User implements Serializable {
@Id
private Integer id;
private String loginName;
private String userName;
private String password;
private String email;
private String address;
private String platform;
private Date createtime;
}
Mapper接口定义为:
UserDemo findOneByLoginNameAndPassword(String loginName, String password);
xml中的查询如下:
<select id="findOneByLoginNameAndPassword" resultType="com.demojava.entity.UserDemo" parameterType="String">
select login_name,password,createtime,updatetime,platform from user where login_name = #{loginName} and password = #{password}
</select>
业务代码为:
UserDemo userDemo = userMapper.findOneByLoginNameAndPassword(loginName,password);
logger.info("校验loginName和password得到的userDemo信息:" + userDemo);
此时的打印为:
校验loginName和password得到的userDemo信息:UserDemo(loginName=xunlian, password=123456, updatetime=Thu May 16 15:30:43 CST 2019)
当我在业务代码中打印其他信息时:
String platForm = userDemo.getPlatform();
Date createtime = userDemo.getCreatetime();
Date updatetime = userDemo.getUpdatetime();
logger.info("platForm:{},createtime:{},updatetime:{}",platForm,createtime,updatetime);
神奇的是,控制台中居然有对应的输出:
platForm:dev,createtime:Thu May 16 15:31:02 CST 2019,updatetime:Thu May 16 15:30:43 CST 2019
而且,方法最后返回了userDemo,居然把UserDemo加User里所有的属性都包含了,而且都有值。 这是为什么?sql里我只查了几个字段呀。
上一篇:
IDEA上Java项目控制台中文乱码
