浅谈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应用
文章链接:http://www.csdahua.cn/qtweb/news30/366780.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网