java - 使用 where 子句使用 spring JDBC 从数据库中查找记录
问题描述
我想使用 spring JDBC 从数据库中搜索两个日期的记录。我用 where startDate=? 和 endDate=? 我需要更正控制器。我得到了例外
org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver resolveException 警告:已解决 [org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException:无法将“java.lang.String”类型的值转换为所需的“java.sql.Date”类型'; 嵌套异常是 java.lang.IllegalStateException:无法将类型“java.lang.String”的值转换为所需类型“java.sql.Date”:找不到匹配的编辑器或转换策略] [图片][1]
public class EmpDao {
JdbcTemplate template;
public void setTemplate(JdbcTemplate template) {
this.template = template;
}
public List<Event> getEmployees(Date start, Date end){
return template.query("select * from Event where startDate=? and endDate=?",new RowMapper<Event>(){
public Event mapRow(ResultSet rs, int row) throws SQLException {
Event e=new Event();
e.setEventName(rs.getString(1));
e.setEventOrgName(rs.getString(2));
e.setEventFare(rs.getInt(3));
e.setStartDate(rs.getDate(4));
e.setEndDate(rs.getDate(5));
return e;
}
});
}
}
public class Event {
private String eventName;
private String eventOrgName;
private int eventFare;
private Date startDate;
private Date endDate;
}
@Controller
public class EmpController {
@Autowired
EmpDao dao;
@GetMapping("/viewemp")
public String viewemp(@RequestParam(value="start") @DateTimeFormat(pattern="dd/MM/yyyy") Date start,
@RequestParam(value="end") @DateTimeFormat(pattern="dd/MM/yyyy") Date end, Model m){
List<Event> list=dao.getEmployees(start,end);
m.addAttribute("list",list);
return "viewemp";
}
}
<h1>Add New Employee</h1>
<form method="get" action="viewemp">
<input type="date" id="start" name="start"/>
<input type="date" id="end" name="end"/>
<input type="submit" value="Filter" />
</form>
解决方案
推荐阅读
- spring - Spring Data - 带有过滤的自定义 DTO 查询
- android - 具有“状态”设计模式的 Android Camera2 API
- apache-kafka - 当 3 个代理中的 1 个出现故障时,Kafka 无法获得偏移量
- wordpress - 如何将订购的 3D 模型变成具有变化的 woocommerce 产品?
- google-analytics - 为电子商务项目的动态 URL 设置目标
- python - 在 scikit learn 中预测多个值作为模型结果
- android - 当我想从 Firebase 获取数据时,为什么应用程序会关闭?
- tcp - 进程和 TCPSocket 在水晶中没有正确关闭
- pandas - 如何将ndarray转换为pandas DataFrame
- r - 使用 ibmdbR 包在 R 对象中追加和更新 DB2 表行