成都网站建设设计

将想法与焦点和您一起共享

浅谈Spring框架中的JDBC应用

首先看jdbctemplate配置

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

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

DAO层写法

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

service层写法

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

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 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 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的东西


名称栏目:浅谈Spring框架中的JDBC应用
URL链接:http://chengdu.cdxwcx.cn/article/dhpsigc.html