BPM
作者BPM·2011-02-15 18:30
系统工程师·

浅谈Spring框架中的JDBC应用

字数 2550阅读 2833评论 0赞 0
本文将简单Spring框架中的JDBC应用。当然在同一个项目中,JDBC和Hibernate可以同时使用,使用同一个数据源。

首先看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的东西

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广