系统的JdbcTemplate类继承的是JdbcDaoSupport
1、使用JdbcTemplate的execute()方法执行SQL语句
super.getJdbcTemplate().execute(sql + whereSql);
2、如果是update或者insert或delete,使用的是JdbcTemplate的update()方法。
public void delete(Bug bug) {
super.getJdbcTemplate().update("delete from bug_bug where bug_id=?",new Object[] { bug.getId() });
}
其中new Object[] { bug.getId() }是更新的参数。
3、使用JdbcTemplate进行查询,使用queryForInt、queryForObject等queryForXX方法。
queryForInt
public int getCountBySql(String whereSql) {
String sql = "select count(*) from bug_attachment,bug_bug "+ " where bug_attachment.bug_id=bug_bug.bug_id ";
return super.getJdbcTemplate().queryForInt(sql + whereSql);
}
queryForObject
public Project getObjectByCode(String code) {
String sql = " select "+fieldNames
+ " from bug_project "
+ " where 1=1 "
+ " and bug_project.project_code=? ";
return (Project) super.getJdbcTemplate().queryForObject(sql,new Object[] { code},new ProjectRowMapper());
}
new ProjectRowMapper()rowmapper接口中存放是
public class ProjectRowMapper implements RowMapper {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
// 从 ResultSet 中取值 装 对象 ;然后返回该对象
Project project = new Project();
project.setId(rs.getString("project_id"));
project.setCode(rs.getString("project_code"));//项目编码
return project;
}
}
RowMapper --
数据映射接口 使用必须实现 mapRow(ResultSet rs, int rowNum) 方法,该方法就是将返回结果记录集ResultSet的值封装到Project类中.