浅谈Spring框架中的JDBC应用

首先看jdbctemplate配置

 
 
 
  1. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">   
  2.         <property name="dataSource"><ref bean="dataSource"/></property>   
  3. </bean> 

这个dataSource就不用说了吧,跟Hibernate使用同一个数据源

DAO层写法

 
 
 
  1. <bean id="serviceAnalyserJdbcDao" class="com.fruitking.dao.jdbcdao.impl.ServiceAnalyserDaoImpl">   
  2.     <property name="jdbcTemplate" ref="jdbcTemplate" />   
  3.   </bean> 

service层写法

 
 
 
  1. <bean id="serviceAnalyserJdbcService" class="com.fruitking.service.jdbcservice.impl.ServiceAnalyserServiceImpl">   
  2.     <property name="serviceAnalyserJdbcDao" ref="serviceAnalyserJdbcDao" />   
  3.   </bean>  

Spring配置就是这么简单了

当然在DAO层的程序里面我们一般使用一个对象包装

 
 
 
  1. import org.springframework.jdbc.core.RowMapper;   
  2. import org.springframework.jdbc.core.support.JdbcDaoSupport;   
  3.  
  4. import com.fruitking.dao.jdbcdao.IAccessAnalyserDao;   
  5. import com.fruitking.entity.AccessAnalyser;   
  6.  
  7. public class AccessAnalyserDaoImpl extends JdbcDaoSupport implements IAccessAnalyserDao{   
  8.  
  9. public List<AccessAnalyser> countGroupByYear(){   
  10. String sql ="select to_char(t.createddate, 'yyyy') as cyear, count(*) as yearcount from accessanalyser t group by to_char(t.createddate, 'yyyy')";   
  11. List<AccessAnalyser> accessAnalyserList = this.getJdbcTemplate().query(sql, new AccessAnalyserRowMapper());   
  12. return accessAnalyserList;   
  13. }   
  14.  
  15. class AccessAnalyserRowMapper implements RowMapper {   
  16. public Object mapRow(ResultSet rs, int rowNum) throws SQLException {   
  17. AccessAnalyser accessAnalyser = new AccessAnalyser();   
  18. accessAnalyser.setYearName(rs.getString("cyear"));   
  19. accessAnalyser.setClickTimes(rs.getLong("yearcount"));   
  20. return accessAnalyser;   
  21. }   
  22. }   
  23. }  

这样就可以像Hibernate一样在Spring框架中使用JDBC了,只不过你可以任意的使用JDBC的东西

【编辑推荐】

  1. Struts2教程:拦截器概述
  2. Struts2教程:上传任意多个文件
  3. Struts2教程:在Action类中获得HttpServletResponse对象
  4. Struts2教程:使用Validation框架验证数据
  5. Struts2教程:使用validate方法验证数据
THE END