mybatis-config.xml <settings> 紧跟<properties>之后
<settings >
<setting name="autoMappingBehavior" value="NONE"/>
</settings>
User.java
//补充一个
private String userRoleName;
public String getUserRoleName() {
return userRoleName;
}
public void setUserRoleName(String userRoleName) {
this.userRoleName = userRoleName;
}
UserMapper.xml
<resultMap type="User" id="userList">
<result property="id" column="id"/>
<result property="userCode" column="userCode"/>
<result property="userName" column="userName"/>
<result property="gender" column="gender"/>
<result property="userRoleName" column="roleName"/>
</resultMap>
<!-- 按条件查询得到用户列表,需要显示特定字段,但是该特定字段,用户表中不存在 -->
<select id="getUserList" parameterType="User" resultMap="userList">
select u.*,r.roleName from smbms_user u,smbms_role r
where u.userName like CONCAT('%',#{userName},'%')
and u.userRole=#{userRole} and u.userRole=r.id
</select>
MapperTest.java
@Test
public void test8() {
List<User> userList=new ArrayList<User>();
SqlSession sqlSession=null;
try {
sqlSession=MyBatisUtil.createSqlSession();
User user=new User();
user.setUserName("赵");
user.setUserRole(3);
userList=sqlSession.getMapper(UserMapper.class).getUserList(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
MyBatisUtil.closeSqlSession(sqlSession);
}
for(User user :userList){
System.out.println(user.getUserCode()+"----"+user.getUserName()+"----"+user.getUserRole()+"----"+user.getUserRoleName()+"----"+user.getAddress());
}
}
console
address为空是因为 <settings>
value="NONE"