SpringJdbc的几种不同的用法(一)

2014-11-24 02:57:40 · 作者: · 浏览: 3

Spring对jdbc做了良好的封装,本人在学习时做了以下几种方式的尝试
首页先来创建一个dao接口
Java代码
package com.wys.dao;

public interface IUserDao {
void save();
}


第一种方式通过继承JdbcDaoSupport来获取JdbcTemplate,需要注入JdbcTemplate
Java代码
package com.wys.dao.impl;

import java.util.Map;

import org.springframework.jdbc.core.support.JdbcDaoSupport;


import com.wys.dao.IUserDao;

public class UserDaoImpl extends JdbcDaoSupport implements IUserDao {


@Override
public void save() {
String sql = "**********";
Map map = this.getJdbcTemplate().queryForMap(sql);
System.out.println("成功!");

}



}

配置文件如下:
Java代码





JdbcTemplate提供了众多的对数据库操作的方法
第二种方法是组合JdbcTemplate,因为JdbcTemplate的创建需要注入DataSource,所以这里只需要直接注入DataSource就可以
Java代码
package com.wys.dao.impl;

import java.util.Map;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import org.springframework.jdbc.core.support.JdbcDaoSupport;


import com.wys.dao.IUserDao;

public class UserDao2Impl implements IUserDao {

private JdbcTemplate jdbcTemplate;


@Override
public void save() {

String sql = "******";
Map map = this.jdbcTemplate.queryForMap(sql);

System.out.println("成功!");



}
//注入DataSource
public void setDataSource(DataSource dataSource) {
jdbcTemplate = new JdbcTemplate(dataSource);
}




}


配置文件
Java代码



第三种方法是继承SimpleJdbcDaoSupport,通过SimpleJdbcDaoSupport可以获取SimpleJdbcTemplate,SimpleJdbcTemplate里也提供了大量的操作数据库的方法,因为SimpleJdbcDaoSupport继承了JdbcDaoSupport,所有可以获得JdbcTemplate,JdbcTemplate相对SimpleJdbcTemplate提供了更多和更高级的一些操作的方法,根据需要来使用,这里只需要直接注入JdbcTemplate,因为SimpleJdbcTemplate是通过JdbcTemplate来创建的
Java代码
package com.wys.dao.impl;

import java.util.Map;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import org.springframework.jdbc.core.support.JdbcDaoSupport;


import com.wys.dao.IUserDao;

public class UserDao3Impl extends SimpleJdbcDaoSupport implements IUserDao {



@Override
public void save() {

String sql = "***";
Map map = this.getSimpleJdbcTemplate().queryForMap(sql);//SimpleJdbcTemplate
Map map2 = this.getJdbcTemplate().queryForMap(sql);//JdbcTemplate


System.out.println("成功!");

}




}

配置如下:
Java代码


第四种直接组合SimpleJdbcTemplate,因为SimpleJdbcTemplate的创建是需要DataSource的,所以需要注入DataSource
Java代码
package com.wys.dao.impl;

import java.util.Map;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPa