SSM框架根据项目名搜索查询
时间: 2023-09-06 17:13:34 浏览: 54
在SSM框架中,根据项目名进行搜索查询可以使用MyBatis的动态SQL语句来实现。具体步骤如下:
1. 在MyBatis的Mapper接口中定义一个方法,该方法接受一个String类型的参数,表示要搜索的项目名。
```
public List<Project> searchProjectByName(String projectName);
```
2. 在Mapper.xml文件中编写动态SQL语句,根据传入的参数动态生成SQL语句。
```
<select id="searchProjectByName" parameterType="java.lang.String" resultMap="projectResultMap">
SELECT * FROM project
<where>
<if test="projectName != null and projectName != ''">
AND name LIKE CONCAT('%', #{projectName}, '%')
</if>
</where>
</select>
```
在上述示例中,使用了if标签进行条件判断,如果传入的项目名不为空,则动态生成AND name LIKE CONCAT('%', #{projectName}, '%')这一查询条件。
3. 在Service层中调用Mapper接口中定义的方法。
```
public List<Project> searchProjectByName(String projectName) {
return projectMapper.searchProjectByName(projectName);
}
```
在上述示例中,调用了Mapper接口中的searchProjectByName方法,并将结果返回给调用方。
4. 在Controller层中接收前端传来的参数,并调用Service层中的方法。
```
@RequestMapping("/search")
public String searchProjectByName(Model model, @RequestParam("projectName") String projectName) {
List<Project> projectList = projectService.searchProjectByName(projectName);
model.addAttribute("projectList", projectList);
return "projectList";
}
```
在上述示例中,使用了@RequestParam注解来接收前端传来的参数,并调用了Service层中的searchProjectByName方法,将查询结果存入Model中并返回到前端页面展示。