解决字段名和属性名不一致的问题
- 新建数据库表的字段-这里就不贴上了
在下面链接有
https://www.cnblo
设置实体类和数据库字段名不一致
测试查询
新建Mapper接口
public interface UserMapper {
//查询全部用户
List<User> getUserAll();
}
新建Mapper.xml
<?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.rzk.mapper.UserMapper">
<!--查询全部用户-->
<select id="getUserAll" resultType="User">
select * from user
</select>
</mapper>
##测试
@Test
public void getUserAll(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSes睿共享 sion.getMapper(UserMapper.class);
List<User> all = mapper.getUserAll();
for (User睿共享 user : all) {
System.out.println(user);
}
}
username和password为空
解决方法
###起别名
<!--查询全部用户-->
<select id="getUserAll" resultType="User">
select id,name AS username,pwd as password from user
</select>
使用resultMapper
- 结果集映射
<resultMap id="UserMap" type="user"> <!--property: 实体类中的属性 column:数据库中的字段--> <!--数据库中的一个列 映射
睿共享 成数据库中的字段--> <result property="username" column="name"/> <result property="password" column="pwd"/> </resultMap> <!--查询全部用户--> <select id="getUserAll" resultMap="UserMap"> select * from user </select>
##Result总结
resultMap元素是MyBatis中最重要、最强大的元素。它允许您去掉JDBC从resultset检索数据所需的90%的代码,并且在某些情况下允许您做JDBC甚至不支持的事情。实际上,为复杂语句的join映射之类的东西编写等价的代码可能需要跨越数千行代码。R