中国领先的IT技术网站
|
|

浅谈Spring框架中的JDBC应用

本文将简单Spring框架中的JDBC应用。当然在同一个项目中,JDBC和Hibernate可以同时使用,使用同一个数据源。

作者:fruitking来源:javaeye|2009-06-29 17:17

开发者大赛路演 | 12月16日,技术创新,北京不见不散


首先看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方法验证数据
【责任编辑:彭凡 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

大师品软件——软件之痛与应对之道

这并不是一本传统的技术专著,因为它并没有包含一行代码,而更像是一部技术评论。作者通过幽默诙谐而又不失辛辣的语言,从程序员、用户等多...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊