当一个项目通常用于sql查询,不像中规中矩的信息的增删查改,我们可以考虑使用下spring集成的JdbcTemplate。
具体使用方法:
1.配置连接池
2.配置jdbcTemplate的bean
3.进行调用
参考代码:
xml配置:
<bean id="springDSN"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url"
value="jdbc:oracle:thin:@${jdbc.meeting.url}">
</property>
<property name="username" value="${jdbc.meeting.username}"></property>
<property name="password" value="${jdbc.meeting.password}"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="springDSN"/>
</bean>
写一个service实现一些方法:
package com.wirelesscity.service.impl;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.support.rowset.SqlRowSet;
import com.wirelesscity.service.JdbcService;
public class JdbcServiceImpl implements JdbcService {
public Logger log = LoggerFactory.getLogger(this.getClass());
JdbcTemplate jdbcTemplate;
public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public SqlRowSet getResultSet(String sql) {
SqlRowSet rs =null;
try {
rs = jdbcTemplate.queryForRowSet(sql);
} catch (Exception e) {
e.printStackTrace();
}
return rs;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public List getList(String sql) {
List<Map> list = jdbcTemplate.queryForList(sql);
log.debug(String.valueOf(list.size()));
for (Object obj : list) {
Map map4entity = (Map) obj;
log.error(String.valueOf(map4entity.get("username")));
}
return list;
}
}