我们在使用Spring的JdbcTemplate 写DAO时,通常可以继承JdbcDaoSupport或直接通过setter方法注入JdbcTemplate。此外spring中还提供了JdbcTemplate 的简化版SimpleJdbcTemplate以及对应的SimpleJdbcDaoSupport。
SimpleJdbcTemplate提供了对范型的支持,在查询操作时能以更优雅的方式实现,JdbcTemplate则提供了较为丰富的更新操作。
SimpleJdbcDaoSupport可以分别提供JdbcTemplate和SimpleJdbcTemplate,我们可以通过直接或间接的继承SimpleJdbcDaoSupport来获取更大的灵活性。
package cn.slsoft.beans.basicinfo;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
public class Subject {
private int subid;
private String subName;
private int subtypeid;
private String subtypeName;
private String dcflag;
private String hscash;
private String detailflag;
private int attflag;
private int assistflag;
private String fullName;
private int pid;
private String pname;
...省略getter,setter...
public String toString(){
return ReflectionToStringBuilder.toString(this);
}
}
package cn.slsoft.dao.base;
import org.apache.log4j.Logger;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
public class BaseDAO extends SimpleJdbcDaoSupport {
protected Logger log = Logger.getLogger(this.getClass());
}
package cn.slsoft.dao.basicinfo;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
import cn.slsoft.beans.basicinfo.Subject;
import cn.slsoft.dao.base.BaseDAO;
public class SubjectDAO extends BaseDAO{
public String getSubNameByID(int subid){
String sql = "select subname from s_shop where subid=?";
log.debug(sql);
return getSimpleJdbcTemplate().queryForObject(sql, String.class, subid);
}
public List<Subject> getSubjects(){
String sql = "select * from s_subject";
log.debug(sql);
return getSimpleJdbcTemplate()
.query(sql, new SubjectParameterizedRowMapper(), shopid,accid,value);
}
public int deleteSubjectById(int subid){
String sql = "delete from s_subject where subid=" + subid;
log.debug(sql);
return getJdbcTemplate().update(sql);
}
}
class SubjectParameterizedRowMapper implements ParameterizedRowMapper<Subject>{
@Override
public Subject mapRow(ResultSet rs, int i) throws SQLException {
Subject subject = new Subject();
subject.setAssistflag(rs.getInt("assistflag"));
subject.setAttflag(rs.getInt("attflag"));
subject.setDcflag(rs.getString("dcflag"));
subject.setDetailflag(rs.getString("detailflag"));
subject.setFullName(rs.getString("fullname"));
subject.setHscash(rs.getString("hscash"));
subject.setPid(rs.getInt("parentid"));
subject.setPname(rs.getString("pname"));
subject.setSubid(rs.getInt("subid"));
subject.setSubName(rs.getString("subname"));
subject.setSubtypeid(rs.getInt("subtypeid"));
subject.setSubtypeName(rs.getString("subtypename"));
return subject;
}
}
分享到:
相关推荐
**Spring MVC + SimpleJdbcDaoSupport 增删改查小例子详解** Spring MVC 是一个广泛使用的Java Web框架,用于构建高效、灵活的Web应用程序。它提供了模型-视图-控制器(MVC)架构,使得开发者可以将业务逻辑、数据...
我们可以使用`SimpleJdbcDaoSupport`或自定义的Dao类,通过`JdbcTemplate`的`queryForList`方法配合RowCallbackHandler实现分页。关键在于构造合适的SQL语句,通常包括`LIMIT`和`OFFSET`子句,以及计算出的偏移量。 ...
- 通过使用Spring的`SimpleJdbcDaoSupport`或`HibernateDaoSupport`,开发者可以更轻松地实现DAO层。 3. **配置管理**: - Spring框架的强大配置能力可以方便地管理和配置Hibernate的各种设置。 - 可以使用XML或...
- `SimpleJdbcDaoSupport`也是`JdbcDaoSupport`的子类,它支持`SimpleJdbcTemplate`,提供了一种简化版的数据库访问接口。 这些模板类如`JdbcTemplate`、`NamedParameterJdbcTemplate`和`SimpleJdbcTemplate`,...
All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory....