使用Spring JdbcTemplate

系统的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类中.

<!--EndFragment-->

 

你可能感兴趣的:(spring,sql)