我想使用结果集中的百万富翁显示属性。
例如: 我想在观察中使用百日咳显示函数的结果。
public ResultSet getIntervenantById(String nomTable, String id,String nomcle) {
try {
st = connection.prepareStatement("select * from ? where ? = ?");
st.setString(1, nomTable);
st.setString(2, nomcle);
st.setString(3, id);
rs = st.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs ;
}
答案 0 :(得分:0)
对于您的问题,请参阅http://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html,尤其是http://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html#model-attributes。你真的应该从学习基础开始--Thymeleaf的网站提供了一些好东西:http://www.thymeleaf.org/documentation.html
答案 1 :(得分:0)
有多种方法可以解决此问题。这是一个快速而肮脏的显示结果。您可以创建List
并将其添加到model
。
服务(MyService):
public static List createList(ResultSet resultSet) throws SQLException {
ResultSetMetaData metadata = resultSet.getMetaData();
int numberOfColumns = metadata.getColumnCount();
List<String> list = new ArrayList<>(numberOfColumns);
while (resultSet.next()) {
int i = 1;
while (i <= numberOfColumns) {
list.add(resultSet.getString(i++));
}
}
return list;
}
<强>控制器强>:
@GetMapping("/myPage")
public String getList(Model model) {
ResultSet resultSet = ...; //however you call this
model.addAttribute("items", MyService.createList(resultSet); //try block hidden for brevity
return "myPage";
}
HTML(myPage.html):
<div th:each="item : ${items}">
<span th:text="${item}">No item</span>
</div>
<小时/>
另一种(可以说是更干净的)方法是使用实现RowMapper
。我正在摘录一些代码作为例子:
public class EmployeeMapper implements RowMapper {
public Employee mapRow(ResultSet rs, int rowNum) throws SQLException {
Employee employee = new Employee();
employee.setEmpid(rs.getInt("empid"));
employee.setName(rs.getString("name"));
employee.setAge(rs.getInt("age"));
employee.setSalary(rs.getLong("salary"));
return employee;
}
}
然后你可能有:
public Employee getEmployee(Integer empid) {
String SQL = "SELECT * FROM Employee WHERE empid = ?";
Employee employee = (Employee) jdbcTemplateObject.queryForObject(SQL, new Object[]{empid}, new EmployeeMapper());
return employee;
}
您可以将这些bean添加到模型中并按上述方式进行迭代。还有BeanPropertyRowMapper
可以快速实现Spring的RowMapper
。
虽然使用ResultSet
s而不是这条路线,但您最好使用JPA实现并返回List
个对象。它有一些依赖性,但最终需要维护的代码较少。