一 属性名与字段名不一致的情况
环境搭建---》pojo---UserMapper接口---》UserMapper.xml ---->测试
1.1属性名与字段名不一致的情况
User类
public class User { private int id; private String name; private String password; public User() { } public User(int id, String name, String password) { this.id = id; this.name = name; this.password = password; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", password='" + password + '\'' + '}'; } }
数据库的字段
User类当中的password属性与数据库当中的User表字段名不一致!!!!!!!!!!!!
UserMapper接口
public interface UserMapper { User getUserByID(int id); }
UserMapper.xml文件
<mapper namespace="com.peng.dao.UserMapper"> <resultMap id="resultmap" type="user"> <!-- <id column="id" property="id"/> <result column="name" property="name"/>--> <result column="pwd" property="password"/> </resultMap> <select id="getUserByID" resultMap="resultmap"> select * from user where id=#{id} </select> </mapper>
测试:
/*这个子工程是学习 解决字段与属性值不一致的情况利用resultMap(只是简单的学习一些标签,多对一、一对多还没学)*/ public class UserMapperTest { @Test public void getUserByID(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.getUserByID(1); System.out.println(user); sqlSession.close(); } }
结果展示: