spring的jdbc应用

当然在同一个项目中,jdbc和hibernate可以同时使用,使用同一个数据源
首先看jdbctemplate配置
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource"><ref bean="dataSource"/></property>
</bean>
这个dataSource就不用说了吧,跟hibernate使用同一个数据源
dao层写法
<bean id="serviceAnalyserJdbcDao" class="com.fruitking.dao.jdbcdao.impl.ServiceAnalyserDaoImpl">
<property name="jdbcTemplate" ref="jdbcTemplate" />
</bean>
service层写法
<bean id="serviceAnalyserJdbcService" class="com.fruitking.service.jdbcservice.impl.ServiceAnalyserServiceImpl">
<property name="serviceAnalyserJdbcDao" ref="serviceAnalyserJdbcDao" />
</bean>
配置就是这么简单了
当然在dao层的程序里面我们一般使用一个对象包装
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

import com.fruitking.dao.jdbcdao.IAccessAnalyserDao;
import com.fruitking.entity.AccessAnalyser;

public class AccessAnalyserDaoImpl extends JdbcDaoSupport implements IAccessAnalyserDao{

public List<AccessAnalyser> countGroupByYear(){
String sql ="select to_char(t.createddate, 'yyyy') as cyear, count(*) as yearcount from accessanalyser t group by to_char(t.createddate, 'yyyy')";
List<AccessAnalyser> accessAnalyserList = this.getJdbcTemplate().query(sql, new AccessAnalyserRowMapper());
return accessAnalyserList;
}

class AccessAnalyserRowMapper implements RowMapper {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
AccessAnalyser accessAnalyser = new AccessAnalyser();
accessAnalyser.setYearName(rs.getString("cyear"));
accessAnalyser.setClickTimes(rs.getLong("yearcount"));
return accessAnalyser;
}
}
}
这样就可以像hibernate一样使用了,只不过你可以任意的使用jdbc的东西
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值