`
wangguanqiu
  • 浏览: 12998 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用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-->

 

分享到:
评论
1 楼 westice 2009-10-18  
贴太多了,要精练一下.

相关推荐

Global site tag (gtag.js) - Google Analytics