mybatis创建一个映射文件PersonMapper.xml,在该映射文件中配置相应的sql语句,如果对象psn中的姓名不为空,则根据姓名做模糊查询,而且,如果对象psn中的年龄age不为0,则查询年龄大于age的信息,或者如果psn中的性别不为空,则查询该性别的person信息。
时间: 2024-03-15 15:44:30 浏览: 50
使用Mybatis框架的模糊查询
好的,您可以按照以下步骤进行配置:
1. 在 PersonMapper.xml 文件中添加一个 `<select>` 标签,设置 id 属性为 selectPerson,resultType 属性为 Person 类型,parameterType 属性为 Person 类型。
2. 在 `<select>` 标签中,添加 SQL 语句,根据您的需求进行拼接,示例:
```
<select id="selectPerson" resultType="Person" parameterType="Person">
SELECT * FROM person
WHERE 1=1
<if test="name != null and name != ''">
AND name like '%' || #{name} || '%'
</if>
<if test="age != 0">
AND age > #{age}
</if>
<if test="gender != null and gender != ''">
AND gender = #{gender}
</if>
</select>
```
3. 在代码中调用该 SQL 语句,示例:
```
PersonMapper mapper = sqlSession.getMapper(PersonMapper.class);
Person psn = new Person();
psn.setName("张三");
psn.setAge(20);
List<Person> personList = mapper.selectPerson(psn);
```
这里的 psn 对象中,姓名为“张三”,年龄为20,表示要查询姓名为“张三”,年龄大于20岁的 Person 信息。如果需要根据其他条件查询,只需要修改 psn 对象的属性即可。
阅读全文