您的位置:首页 > 编程语言 > Java开发

Spring学习笔记1——Spring JDBC

2016-01-19 18:14 567 查看
在Spring中使用JDBC大致可以分为如下几个步骤:

一、配置数据源:

1、使用JNDI数据源

2、使用数据源连接池(Apache Commons DBCP)

3、基于JDBC驱动的数据源(Spring框架提供的数据源对象DriverManagerDataSource和SingleConnectionDataSource)

本次我是使用的DriverManagerDataSource数据源对象,它与DBCP提供的BasicDataSource配置基本相同,唯一的不同是后者提供了线程池的功能。

DriverManagerDataSource虽然具有多线程,然而每一次请求连接的时候都会创建一个新的连接,与支持线程池的BasicDataSource相比还是有许多不足,使用时慎重考虑。

数据源配置的xml如下:

<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/syh" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>

二、根据数据库存储的数据创建相应的bean(实现setter和getter)
三、实现DAO(Data Access Object,数据访问对象)

1、数据访问对象中必须包含一个JdbcTemplate(此外还有具有更多功能的NamedParameterJdbcTemplate)对象,该对象支持数据源的访问功能和简单的索引参数查询,NamedParameterJdbcTemplate还支持将查询值以命名参数的形式绑定到SQL中。注:DAO类需要实现JdbcTemplate的setter方法用以注入。

JdbcTemplate配置的xml如下:

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>2、将JdbcTemplate注入
<bean id="RentInfoDAO" class="com.syh.SpringDemo.RentInfoDAO">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>四:通过DAO访问数据
package com.syh.SpringDemo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.JdbcTemplate;

import Spiders.RentInfo;

public class RentInfoDAO {
private JdbcTemplate jdbcTemplate;
private final String SQL_SELECT_RENTINFO =
"SELECT title,url FROM rentinfo";//查询所有行
public void setJdbcTemplate(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
}
public JdbcTemplate geJdbcTemplate(){
return this.jdbcTemplate;
}

public List<RentInfo> getRentInfo(){
List<RentInfo> rentInfos = new ArrayList<>();
List<Map<String, Object>> list = jdbcTemplate.queryForList(this.SQL_SELECT_RENTINFO);
Iterator<Map<String, Object>> iterator = list.iterator();
while (iterator.hasNext()) {
Map<String, Object> m = iterator.next();
String title = m.get("title").toString();
String url = m.get("url").toString();
RentInfo r = new RentInfo();
r.setTitle(title);
r.setUrl(url);
rentInfos.add(r);
}
return rentInfos;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 框架 JAVA