1.使用实体类包装对象作为查询条件
1.UserDao中定义用实体类对象作为查询条件的方法
List<User> findUserByVo(QureyVo vo);
2.编写实体类QureyVo封装User实体类
public class QureyVo {
private User user ;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
3.配置映射文件UserDao.xml
使用了OGNL表达式,#{user.username}
中的user
代表参数QureyVo对象中的属性user。.username
代表属性user的setUsername方法
<select id="findUserByVo" parameterType="com.mybatis.beans.QureyVo" resultType="com.mybatis.beans.User">
SELECT *FROM USER WHERE username LIKE #{user.username};
</select>
2.数据库表列名和实体类的属性名不一致
在映射文件中指定实体类的属性名和数据库表列名的关系
<resultMap id="rsmap" type="com.mybatis.beans.User">
<id property="userId" column="id"></id>
<result property="userName" column="username"></result>
<result property="userAddress" column="address"></result>
<result property="userSex" column="sex"></result>
<result property="userBrithday" column="brithday"></result>
</resultMap>
<select id="findAll"resultMap="rsmap">
SELECT * FROM USER;
</select>