2 设备的条件查询共20分A可以按照设备名称模糊查询;5分B可以按照制造商查询5分制造商要使用下拉框动态获取数据;5分D查询条件回显;5分代码用使用Spring、SpringMVC、MyBatis
以下是使用Spring、SpringMVC、MyBatis实现设备的条件查询的代码示例:
- 设备实体类 Device.java
public class Device {
private Integer id;
private String name;
private String manufacturer;
// 省略其他属性和getter/setter方法
}
- 设备DAO接口 DeviceDao.java
public interface DeviceDao {
List<Device> findByConditions(@Param("name") String name, @Param("manufacturer") String manufacturer);
}
- 设备DAO实现类 DeviceDaoImpl.java
@Repository
public class DeviceDaoImpl implements DeviceDao {
@Autowired
private SqlSession sqlSession;
@Override
public List<Device> findByConditions(String name, String manufacturer) {
Map<String, Object> params = new HashMap<>();
params.put("name", name);
params.put("manufacturer", manufacturer);
return sqlSession.selectList("findByConditions", params);
}
}
- 设备Service接口 DeviceService.java
public interface DeviceService {
List<Device> findByConditions(String name, String manufacturer);
}
- 设备Service实现类 DeviceServiceImpl.java
@Service
public class DeviceServiceImpl implements DeviceService {
@Autowired
private DeviceDao deviceDao;
@Override
public List<Device> findByConditions(String name, String manufacturer) {
return deviceDao.findByConditions(name, manufacturer);
}
}
- 设备Controller类 DeviceController.java
@Controller
@RequestMapping("/device")
public class DeviceController {
@Autowired
private DeviceService deviceService;
@RequestMapping("/search")
public String searchDevices(Model model, @RequestParam(required = false) String name,
@RequestParam(required = false) String manufacturer) {
List<Device> devices = deviceService.findByConditions(name, manufacturer);
model.addAttribute("devices", devices);
model.addAttribute("name", name);
model.addAttribute("manufacturer", manufacturer);
return "deviceList";
}
}
- 设备查询页面 deviceList.jsp
<form action="/device/search" method="get">
<label for="name">设备名称:</label>
<input type="text" name="name" value="${name}" />
<label for="manufacturer">制造商:</label>
<select name="manufacturer">
<option value="">请选择</option>
<option value="制造商1">制造商1</option>
<option value="制造商2">制造商2</option>
<option value="制造商3">制造商3</option>
</select>
<input type="submit" value="查询" />
</form>
<table>
<tr>
<th>设备名称</th>
<th>制造商</th>
</tr>
<c:forEach items="${devices}" var="device">
<tr>
<td>${device.name}</td>
<td>${device.manufacturer}</td>
</tr>
</c:forEach>
</table>
以上代码实现了按照设备名称和制造商进行条件查询,并且可以回显查询条件。设备名称和制造商使用了@RequestParam注解接收查询参数,查询结果使用Model对象传递到前端页面进行展示。制造商的下拉框数据是动态获取的,可以根据实际情况进行修改
原文地址: http://www.cveoy.top/t/topic/iJsl 著作权归作者所有。请勿转载和采集!